ansible配置-ssh的登录交互StrictHostKeyChecking

什么是StrictHostKeyChecking

使用ssh访问时,A通过ssh首次连接到B,B会将公钥1(host key)传递给A,在首次链接时,会弹出交互验证B的公钥1是否正确,如果正确则输入yes确认,A将公钥1存入known_hosts文件中,以后A再连接B时,B依然会传递给A一个公钥2,OpenSSH会核对公钥,通过对比公钥1与公钥2 是否相同来进行简单的验证,如果公钥不同,OpenSSH会发出警告, 避免你受到DNS Hijack之类的攻击。

但是如果程序自动链接ssh远端机器,就需要由程序自动应答这个确认公钥的交互过程。

ansible的SSH交互应答配置

StrictHostKeyChecking=no 最不安全的级别,当然也没有那么多烦人的提示了,相对安全的内网测试时建议使用。如果连接server的key在本地不存在,那么就自动添加到文件中(默认是known_hosts),并且给出一个警告。
StrictHostKeyChecking=ask 默认的级别,就是出现刚才的提示了。如果连接和key不匹配,给出提示,并拒绝登录。
StrictHostKeyChecking=yes 最安全的级别,如果连接与key不匹配,就拒绝连接,不会提示详细信息。

主机系统层面的确认公钥配置

  1. 全局配置
    配置文件/etc/ssh/ssh_config,例如配置SSH链接不验证远端公钥:
#   StrictHostKeyChecking ask
修改为
StrictHostKeyChecking no
  1. 用户环境配置
    配置文件位置~/.ssh/config,例如配置SSH链接不验证远端公钥:
StrictHostKeyChecking no
  1. SSH链接时配置
ssh -o StrictHostKeyChecking=no  192.168.6.12

ansible配置文件配置

通过搜索ansible项目源码,只有通过ansible配置文件来设置StrictHostKeyChecking,ansible源码路径ansible\lib\ansible\plugins\connection\ssh.py中35~53注释行有说明:

      host_key_checking:
          description: Determines if SSH should check host keys.
          default: True
          type: boolean
          ini:
              - section: defaults
                key: 'host_key_checking'
              - section: ssh_connection
                key: 'host_key_checking'
                version_added: '2.5'
          env:
              - name: ANSIBLE_HOST_KEY_CHECKING
              - name: ANSIBLE_SSH_HOST_KEY_CHECKING
                version_added: '2.5'
          vars:
              - name: ansible_host_key_checking
                version_added: '2.5'
              - name: ansible_ssh_host_key_checking
                version_added: '2.5'
  1. 配置文件位置/ect/ansible/ansible.cfg,例如配置SSH链接不验证远端公钥:
host_key_checking = False
  1. 作为ansible执行时扩展变量
ansible -e  "ANSIBLE_HOST_KEY_CHECKING=False"
  1. 作为主机、主机组变量ansible_host_key_checking
    可以从资产配置hosts中设置
[rabbitmq-slave]
192.168.5.6 ansible_ssh_user=root ansible_ssh_pass=passwd master_host=rabbitmq-node01 ansible_host_key_checking=False

部分引用:

https://www.jianshu.com/p/ebcf41c75786
https://blog.csdn.net/qq_39387856/article/details/100100903

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

^白开水^

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值