我想创建一个脚本,将新连接插入到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 

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


评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!