我生成了ssh密钥,并将其复制到远程服务器。当我尝试SSH到该服务器时,一切正常:
ssh user@ip_address
用户不是root。如果我尝试ssh抛出ansible:
ansible-playbook -i hosts playbook.yml
与ansible剧本:
---
- hosts: web
remote_user: user
tasks:
- name: test connection
ping:
和主机文件:
[web]
192.168.0.103
我收到错误消息:
...
Permission denied (publickey,password)
有什么问题?
最佳答案
与您用于连接到该“网络”计算机的密钥相比,Ansible使用的密钥不同。
您可以通过以下方式显式配置ansible以使用特定的私钥:
private_key_file=/path/to/key_rsa
如the docs中所述确保使用
ssh-copy-id -i /path/to/key_rsa.pub user@webmachine_ip_address
将可使用的密钥授权给远程计算机中的远程用户