无法通过 ssh 连接到主机:主机密钥验证失败
Failed to connect to the host via ssh: Host key verification failed
我在执行 ansible-playbook 表单 Jenkins 时遇到问题,
喜欢:
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@c11582cb5024:~/jenkins-ansible$ ansible -i hosts -m ping centos-slave-02
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
Are you sure you want to continue connecting (yes/no)? yes
centos-slave-02 | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python"
},
"changed": false,
"ping": "pong"
}
谁能解决这个问题!提前致谢。
您在 jenkins-ansible
主机中的 known_hosts
文件已有主机 centos-slave-02
的条目。现在 centos-slave-02
主机的身份已更改,需要添加一个新条目。但是文件中的现有条目引发此警告。
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
您可以手动编辑 /var/jenkins_home/.ssh/known_hosts
文件以删除此 centos-slave-02
主机的密钥或 运行 下面的命令,
ssh-keygen -R centos-slave-02
ansible 的解决方法是在 [defaults]
部分下的 ansible.cfg
中添加这一行,
[defaults]
host_key_checking = False
这将在建立 SSH 连接时禁用 HostKeyChecking
。
确保您没有在 jenkin build Exec 命令中使用 sudo。
我在执行 ansible-playbook 表单 Jenkins 时遇到问题,
喜欢:
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@c11582cb5024:~/jenkins-ansible$ ansible -i hosts -m ping centos-slave-02
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
Are you sure you want to continue connecting (yes/no)? yes
centos-slave-02 | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python"
},
"changed": false,
"ping": "pong"
}
谁能解决这个问题!提前致谢。
您在 jenkins-ansible
主机中的 known_hosts
文件已有主机 centos-slave-02
的条目。现在 centos-slave-02
主机的身份已更改,需要添加一个新条目。但是文件中的现有条目引发此警告。
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
您可以手动编辑 /var/jenkins_home/.ssh/known_hosts
文件以删除此 centos-slave-02
主机的密钥或 运行 下面的命令,
ssh-keygen -R centos-slave-02
ansible 的解决方法是在 [defaults]
部分下的 ansible.cfg
中添加这一行,
[defaults]
host_key_checking = False
这将在建立 SSH 连接时禁用 HostKeyChecking
。
确保您没有在 jenkin build Exec 命令中使用 sudo。