ansible推送文件到目标主机时报错 UNREACHABLE! | Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password解决办法

发布时间 2023-04-27 16:09:25作者: 巴卡拉卡

问题现象:

[root@lin lin]# ansible all -m copy -a 'src=/etc/ansible/lin/test.txt dest=/home/'
192.168.12.203 | UNREACHABLE! => {
"changed": false,
"msg": "Failed to connect to the host via ssh: root@192.168.12.203: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).",
"unreachable": true

 

解决方法1:这里可以看出来时公钥出了问题,我们可以在ansible配置文件的hosts文件中添加目的主机的用户名和密码,我这里ansible的配置文件路径为 /etc/ansible/hosts ,在这个文件中按以下的格式添加对应的服务器用户名密码即可。

[servers]

192.168.12.201 ansible_ssh_user='用户名' ansible_ssh_pass='密码'

192.168.12.202 ansible_ssh_user='用户名' ansible_ssh_pass='密码'

192.168.12.203 ansible_ssh_user='用户名' ansible_ssh_pass='密码'

 

解决方法2:可以单独生成公钥

ssh-keygen -f /root/.ssh/id_rsa

ssh-copy-id -i /root/.ssh/id_rsa.pub root@目的主机IP