关于IT运维技术的
最佳实践博客网站

ssh密钥登陆免输入yes和更新known_hosts文件

使用ansible批量查看服务器的时候会让你输入无数个yes将主机的ip以及密匙标示写入known_hosts,非常不愉悦。

The authenticity of host '192.168.1.123 (192.168.1.123)' can't be established.
ECDSA key fingerprint is SHA256:PqYTZ4b8NyltD2nXdtfbgtIDZ/3Stx6bw17UCw9MXN4.
Are you sure you want to continue connecting (yes/no)? yes

ssh-yes-update-known_hosts

解决方法如下:

ssh无密码验证—免输入yes进行known_hosts添加:

虽然ssh可以进行无密码验证但是如果是多台服务器间进行验证,第一次需要手动输入多次yes来将各个主机的标示加入到known_hosts文件中去。其实可以不用的,偷懒方法如下:

  • 在~/.ssh/下建立config文件,内容`为StrictHostKeyChecking no`ssh连接时将自动进行添加,即可免输入yes进行known_hosts添加。

如果想在服务器ip更改后仍然无需进行更新known_hosts文件,或者想免除known_hosts未更新导致的冲突:

  • 在`~/.ssh/config`中多添加一行`UserKnownHostsFile /dev/null`即可实时删除known_hosts文件,每次都是新的,这下不会冲突了。

具体配置如下:`vim ~/ssh/config`

#免yes登陆
StrictHostKeyChecking no
#实时更新known_hosts
UserKnownHostsFile /dev/null

最后了解到,`ansible.cfg`本身里面可以配置免验证密匙

创建ansible配置:`https://www.cnhzz.com/ansible-cfg/`

host_key_checking = False

 

赞(1)
未经允许不得转载:菜鸟HOW站长 » ssh密钥登陆免输入yes和更新known_hosts文件
分享到: 更多 (0)

留下你的脚印

  订阅  
关注动态