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:
下面是我的主机文件/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: