我可以自动连接ssh吗? ssh user@server.company.com

时间:2017-03-09 17:42:10

标签: shell networking ssh remote-access remote-server

我想创建一个插入新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

但没有任何作用

1 个答案:

答案 0 :(得分:1)

  

我想创建一个插入新连接到我的known_hosts文件的脚本......

ssh-keyscan

ssh-keyscan server.company.com >> ~/.ssh/known_hosts

但请注意,这是针对MitM攻击的唯一安全检查,因此除非您确定您和服务器之间没有任何问题,否则您应该在连接到服务器之前手动检查存储的公钥。

要自动插入密码,您可以使用sshpass

sshpass -p password ssh user@server.company.com

但肯定不建议这样做,因为密码存储在明文中。