Ansible ping 不工作

Ansible ping not working

下面是我的主机文件/etc/ansible/hosts

root@ubuntu:/home/dasitha# cat /etc/ansible/hosts
[web]
10.0.0.112 ansible_user=root

[local]
127.0.0.1 ansible_user=root

当我在下面执行 ansible all -m ping -vv 时抛出错误。

ansible 2.5.3
  config file = /etc/ansible/ansible.cfg
  configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python2.7/dist-packages/ansible
  executable location = /usr/bin/ansible
  python version = 2.7.6 (default, Jun 22 2015, 18:00:18) [GCC 4.8.2]
Using /etc/ansible/ansible.cfg as config file
META: ran handlers

    10.0.0.112 | UNREACHABLE! => {
        "changed": false,
        "msg": "Failed to connect to the host via ssh: Permission denied (publickey,password).\r\n",
        "unreachable": true
    }
    127.0.0.1 | UNREACHABLE! => {
        "changed": false,
        "msg": "Failed to connect to the host via ssh: Permission denied (publickey,password).\r\n",
        "unreachable": true
    }

由于 ssh 在 ansible 控制器和远程机器之间工作,这可能是由于 ssh 因身份验证方式失败而拒绝登录。您可能还没有为无密码登录交换 ssh 密钥,并且在您的命令中您也没有提供密码。

要在临时命令中提供密码,例如您尝试过的命令,请在末尾传递 --ask-pass 标志:

[ilias@optima-ansible ~]$ ansible greenhat -m ping --ask-pass
SSH password: 
greenhat | SUCCESS => {
    "changed": false, 
    "ping": "pong"
}
[ilias@optima-ansible ~]$

没有标志:

[ilias@optima-ansible ~]$ ansible greenhat -m ping
greenhat | UNREACHABLE! => {
    "changed": false, 
    "msg": "Failed to connect to the host via ssh: ilias@greenhat: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).\r\n", 
    "unreachable": true
}
[ilias@optima-ansible ~]$ 

希望对您有所帮助

Ansible 假定您使用 SSH 无密码(基于密钥)登录。如果您坚持使用密码,请将 --ask-pass ( -k ) 标志添加到 Ansible 命令(您可能还需要安装 sshpass 包才能正常工作)。

$ sudo apt-get install sshpass
ansible server-group -m ping -k -u username
SSH password: