我正在尝试在多个服务器上运行Ansible角色,但是遇到错误:
致命错误:[192.168.0.10]:不可访问!=> {"changed":false,"msg": "无法通过ssh连接到主机。","unreachable":true}
我的/etc/ansible/hosts文件如下:
192.168.0.10 ansible_sudo_pass='passphrase' ansible_ssh_user=user
192.168.0.11 ansible_sudo_pass='passphrase' ansible_ssh_user=user
192.168.0.12 ansible_sudo_pass='passphrase' ansible_ssh_user=user
我不知道发生了什么事情 - 一切看起来都很好 - 我可以通过SSH登录,但是ansible ping返回相同的错误。
来自详细执行日志:
<192.168.0.10>建立用户user的SSH连接<192.168.0.10> SSH: 执行 ssh -C -vvv -o ControlMaster=auto -o ControlPersist=60s -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=user -o ConnectTimeout=10 -o ControlPath=/root/.ansible/cp/ansible-ssh-%h-%p-%r 192.168.0.10 '/bin/sh -c '"'"'( umask 22 && mkdir -p "
echo $HOME/.ansible/tmp/ansible-tmp-1463151813.31-156630225033829
" && echo "echo $HOME/.ansible/tmp/ansible-tmp-1463151813.31-156630225033829
" )'"'"''
你能帮我解决问题吗?如果我必须使用本地模式 (-c local),那么这没有用。
我已尝试删除 ansible_sudo_pass 和 ansible_ssh_user,但它没有帮助。
ansible_user
而不是ansible_ssh_user
。 - Matthiasansible_ssh_user
,你可以在提到的链接中找到它。它在 ansible 1.9 中使用,但在 ansible 2.0 中已经更改为ansible_user
,但ansible_ssh_user
在两个版本中仍然有效。 - Arbab Nazarhosts
文件只有IP地址。在我加上了“ansible_ssh_pass=vagrant ansible_ssh_user=vagrant”这一后缀后,ping命令就开始起作用了。谢谢! - Neo