Jenkins 无法通过ssh连接到主机:主机密钥验证失败
我在执行Jenkins的ansible剧本时遇到了一个问题 比如:Jenkins 无法通过ssh连接到主机:主机密钥验证失败,jenkins,ssh,ansible,centos,ssh-keys,Jenkins,Ssh,Ansible,Centos,Ssh Keys,我在执行Jenkins的ansible剧本时遇到了一个问题 比如: PLAY [centos-slave-02] ********************************************************* TASK [Gathering Facts] ********************************************************* fatal: [centos-slave-02]: UNREACHABLE! => {"cha
PLAY [centos-slave-02] *********************************************************
TASK [Gathering Facts] *********************************************************
fatal: [centos-slave-02]: UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host via ssh: Host key verification failed.", "unreachable": true}
PLAY RECAP *********************************************************************
centos-slave-02 : ok=0 changed=0 unreachable=1 failed=0 skipped=0 rescued=0 ignored=0
但我能得到乒乓球的回应,每当它要求的时候
Matching host key in /var/jenkins_home/.ssh/known_hosts:5 :
任何人都可以解决这个问题!提前感谢。jenkins ansible主机中的
已知\u主机
文件中已经有主机的条目centos-slave-02
。既然centos-slave-02
主机的标识已更改,则需要添加一个新条目。但是文件中的现有条目正在抛出此警告
您可以手动编辑/var/jenkins_home/.ssh/known_hosts
文件以删除此centos-slave-02
主机的密钥,或运行以下命令
ssh-keygen -R centos-slave-02
ansible的解决方法是在[默认值]
部分下的ansible.cfg
中添加这一行
[defaults]
host_key_checking = False
这将在进行SSH连接时禁用HostKeyChecking。确保在jenkin build Exec命令中不使用sudo。请记住,禁用HostKeyChecking是非常糟糕的做法。最正确的做法是设置SSH用户/主机证书。
Warning: the ECDSA host key for 'centos-slave-02' differs from the key for the IP address '172.19.0.3'
Offending key for IP in /var/jenkins_home/.ssh/known_hosts:2
Matching host key in /var/jenkins_home/.ssh/known_hosts:5
ssh-keygen -R centos-slave-02
[defaults]
host_key_checking = False