Can';在Ansible中ping没有sudo的主机

Can';在Ansible中ping没有sudo的主机,ansible,Ansible,Ansible的第一天,我正在关注入门文档 我用一台主机创建了“/etc/ansible/hosts”文件 命令sudo ansible all-m ping-vvv工作正常 当我放下sudo时,我得到: 02.my_first_host.com | FAILED => SSH Error: Permission denied (publickey,gssapi-with-mic,password). while connecting to xx.xx.xx.xx:22 It i

Ansible的第一天,我正在关注入门文档

我用一台主机创建了“/etc/ansible/hosts”文件

命令
sudo ansible all-m ping-vvv
工作正常

当我放下sudo时,我得到:

02.my_first_host.com | FAILED => SSH Error: Permission denied (publickey,gssapi-with-mic,password).
    while connecting to xx.xx.xx.xx:22
It is sometimes useful to re-run the command using -vvvv, which prints SSH debug output to help diagnose the issue.

这是/etc/ansible/hosts文件的权限问题吗?我将/etc/ansible的所有权递归地更改给了我的用户,但没有成功。

您可以通过在库存文件中定义用户。但是,
-u
,就像你做的那样,应该有相同的结果

可能是Ansible没有使用您的私钥,因为您没有.ssh/config。(胡猜!)您可以使用
--private key
显式传递密钥的路径,或者再次将其设置为清单或组/主机变量中的行为参数

通过库存:

[all:vars]
user=root
ansible_ssh_private_key_file=/path/to/file
通过组变量,另存为与您的剧本相关的
组变量/all

...

user: root
ansible_ssh_private_key_file: /path/to/file

---

您是否可以通过ssh直接连接到远程主机,而不使用sudo?您的
.ssh/config
中是否有任何特殊配置?您是否使用私钥或密码进行身份验证?是的,CentOS系统上cPanel的私钥进入root或我添加密钥的任何其他用户帐户。没有~/.ssh/config文件。只有id_rsa、id_rsa.pub和已知主机从-vvvv标志的输出中查找。sudo正在为user:root建立连接,而没有sudo,它只是在尝试我的用户。实际上,我的服务器上没有与mac上的用户匹配的用户。我尝试了'ansible all-m ping-vvv-u root',但得到了'FAILED=>SSH错误:SSH\u exchange\u标识:连接到时远程主机关闭了连接',看起来是这样的…谢谢
ansible all-m ping-vvv--private key.ssh/id_rsa-u root
这是我的ansible 101,但我想发布一下,以防它对其他人有帮助。我没有~/.ssh/config文件,所以我添加了一个带有以下
Host 01 HostName 01.mydomain.com端口22用户根的文件,然后用主机
01
更新了/etc/ansible。我返回并能够在不指定私钥路径和根用户的情况下成功ping
ansible all-m ping
自行工作。