ansible ssh权限被拒绝

Vla*_*sov 6 ssh ssh-keys ansible ansible-playbook

我生成了ssh密钥,并将其复制到远程服务器.当我尝试ssh到该服务器时一切正常:

ssh user@ip_address
Run Code Online (Sandbox Code Playgroud)

用户不是root用户.如果我尝试ssh throw ansible:

ansible-playbook -i hosts playbook.yml
Run Code Online (Sandbox Code Playgroud)

与ansible剧本:

---
- hosts: web
  remote_user: user
  tasks:
    - name: test connection
      ping:
Run Code Online (Sandbox Code Playgroud)

和主机文件:

[web]
192.168.0.103
Run Code Online (Sandbox Code Playgroud)

我收到了错误:

...
Permission denied (publickey,password)
Run Code Online (Sandbox Code Playgroud)

有什么问题?

Zas*_*asz 9

与用于连接到"web"机器的密钥相比,Ansible使用不同的密钥.

您可以显式配置ansible以使用特定的私钥

private_key_file=/path/to/key_rsa
Run Code Online (Sandbox Code Playgroud)

正如文档所述确保您向远程用户中的远程用户授权ansible使用的密钥ssh-copy-id -i /path/to/key_rsa.pub user@webmachine_ip_address