【发布时间】:2017-01-03 19:28:33
【问题描述】:
我一直在用头撞墙 - 几天前,ansible 无法连接到我的一个盒子。它只是在下面的输出之后挂起。我最近对盒子所做的唯一事情就是进行 apt-get upgrade... 没有别的。之前完美运行。我是唯一有权访问它的人。
关于在哪里看的任何提示?我已经尝试在我的主机文件中启用和禁用 sudo,没有区别。
我运行的命令:
ansible-playbook site.yml -i hosts.yml -vvvv -u ubuntu
输出这个并挂起:
<cb2> ESTABLISH CONNECTION FOR USER: ubuntu
<cb2> REMOTE_MODULE setup
<cb2> EXEC ssh -C -vvv -o ControlMaster=auto -o ControlPersist=60s -o ControlPath="/Users/alexweinstein/.ansible/cp/ansible-ssh-%h-%p-%r" -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=ubuntu -o ConnectTimeout=10 cb2 /bin/sh -c 'LANG=en_US.UTF-8 LC_CTYPE=en_US.UTF-8 /usr/bin/python'
请注意,我可以通过 ssh 访问该框。使用 ansible 1.9.4。
附加信息:
- 当我尝试使用与 ansible 输出的完全相同的 ssh 命令(见下文)通过 ssh 进入框时,连接正常:
ssh -C -vvv -o ControlMaster=auto -o ControlPersist=60s -o ControlPath="/Users/alexweinstein/.ansible/cp/ansible-ssh-%h-%p-%r" -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=ubuntu -o ConnectTimeout=10 cb2
- Ping 命令在同一点挂起。
ansible all -i hosts.yml -m ping -vvvv
【问题讨论】:
-
它应该已经超时了。它不能无限期地挂起。奇怪。
-
在命令开头添加
ANSIBLE_DEBUG=1并再次运行 playbook,您应该会得到一些有用的输出。 -
如果您拥有访问该框的用户名/密码,请尝试使用
--ask-pass运行相同的剧本。这将使 ansible 询问您 SSH 登录的密码。另外,尝试使用ansible all -i hosts.yml -m ping在主机上运行 ping -
也许serverfault 的答案之一对您有帮助。