我想创建一个插入新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)?
回答“是”'
我得到了回报:
警告:永久添加' server.company.com XX.34.228.XXX' (ECDSA) 到已知主机列表。 user@server.company.com' s密码:
打印密码后 - 我已连接到远程服务器。
下次我想连接时,我不再需要再插入密码了。
有没有办法使用shell脚本自动执行此过程? 我尝试了所有这些选项而没有运气:
yes | ssh user@server.company.com
echo yes | ssh user@server.company.com
但没有任何作用
答案 0 :(得分:1)
我想创建一个插入新连接到我的known_hosts文件的脚本......
有ssh-keyscan
:
ssh-keyscan server.company.com >> ~/.ssh/known_hosts
但请注意,这是针对MitM攻击的唯一安全检查,因此除非您确定您和服务器之间没有任何问题,否则您应该在连接到服务器之前手动检查存储的公钥。
要自动插入密码,您可以使用sshpass
:
sshpass -p password ssh user@server.company.com
但肯定不建议这样做,因为密码存储在明文中。