ansible ssh权限被拒绝
我生成了ssh密钥,并将其复制到远程服务器。当我尝试使用ssh连接到该服务器时,一切正常:ansible ssh权限被拒绝,ssh,ansible,ssh-keys,ansible-playbook,Ssh,Ansible,Ssh Keys,Ansible Playbook,我生成了ssh密钥,并将其复制到远程服务器。当我尝试使用ssh连接到该服务器时,一切正常: ssh user@ip_address 用户不是根用户。如果我尝试ssh抛出ansible: ansible-playbook -i hosts playbook.yml 使用ansible剧本: --- - hosts: web remote_user: user tasks: - name: test connection ping: 和主机文件: [web] 192
ssh user@ip_address
用户不是根用户。如果我尝试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使用的密钥与您连接到“web”计算机时使用的密钥不同 您可以通过以下方式显式配置ansible以使用特定私钥:
private_key_file=/path/to/key_rsa
如中所述,确保使用
ssh copy id-i/path/to/key_rsa.pub将ansible使用的密钥授权给远程计算机中的远程用户user@webmachine_ip_address
在我的例子中,当主机更改ansible playbook的指纹时,我在运行ansible playbook时遇到了类似的错误。我在尝试从命令行建立ssh连接时发现了这一点。因此,在运行ssh-keygen-f”/root/.ssh/known_hosts“-R my_ip
之后,这个问题就解决了。您好,请按以下方式运行该剧。默认情况下,ansible使用root进行播放。
ansible playbook-i托管playbook.yml-u用户
如果仍然出现错误,请在下面运行并将输出粘贴到此处。
ansible playbook-i托管playbook.yml-u user-vvv当你说“一切正常”时,它是否需要密码?使用
-vvvv
重新运行并发布输出..我也遇到了这个问题,使用每个主机的ssh副本id做了一个棘手的操作/etc/ansible/ansible.cfg处的配置是一个但不是唯一可以定义备用ssh密钥的地方。当我遇到这个问题时,原因是在清单文件中定义了每个主机要使用的各个键。