我想创建一个脚本,将新连接插入到known_hosts
文件中。
当我要将新服务器添加到known_hosts文件时,请手动使用以下命令:
ssh user@server.company.com
然后我得到这个返回:
The authenticity of host 'server.company.com (XX.34.228.XXX)' can't be established.
ECDSA key fingerprint is 78:eb:28:7c:a6:19:4f:28:48:ab:0d:c6:e4:4e:dc:ff.
Are you sure you want to continue connecting (yes/no)?
当回答"is"时
我得到这个返回:
Warning: Permanently added 'server.company.com XX.34.228.XXX' (ECDSA) to the list of known hosts. user@server.company.com's password:
打印密码后-我已连接到远程服务器。
下次我想连接时,不需要再次输入密码。
有没有一种方法可以使用Shell脚本自动执行此过程?
我没有运气就尝试了所有这些选项:
yes | ssh user@server.company.com
echo yes | ssh user@server.company.com
但没有任何效果
最佳答案
I want to create a script that inserting a new connection to my known_hosts file ...
有
ssh-keyscan
:ssh-keyscan server.company.com >> ~/.ssh/known_hosts
但是请注意,这是针对MitM攻击的唯一安全检查,因此,除非您真的确定自己与服务器之间没有任何问题,否则在连接到服务器之前,应手动检查存储的公钥。
要自动执行密码插入,您可以使用
sshpass
:sshpass -p password ssh user@server.company.com
但是绝对不建议这样做,因为密码以明文形式存储。
关于shell - 我可以自动进行ssh连接吗? ssh user@server.company.com,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42702028/