我可以自动化 ssh 连接吗? ssh 用户@server.company.com

Can I automate ssh connection? ssh user@server.company.com

我想创建一个脚本,将新连接插入到我的 known_hosts 文件中。

当我想将新服务器添加到 known_hosts 文件时,我手动使用此命令:

ssh user@server.company.com

然后我在 return 中得到这个:

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)?

回答时'yes'

我在 return 中得到了这个:

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 攻击的唯一安全检查,因此除非您真的确定您和服务器之间没有任何问题,否则您应该在连接之前手动检查存储的 public 密钥服务器。

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

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

但肯定不建议这样做,因为密码以明文形式存储。