我正试图第一次使用Ansible进行设置,以连接到Raspberry Pi。在official 'getting started'步骤之后,我制作了一个清单文件:
192.168.1.206
..但ping失败如下:
$ ansible all -m ping -vvv
No config file found; using defaults
<192.168.1.206> ESTABLISH SSH CONNECTION FOR USER: pi
<192.168.1.206> SSH: EXEC ssh -C -q -o ControlMaster=auto -o ControlPersist=60s -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=pi -o ConnectTimeout=10 -o ControlPath=/Users/username/.ansible/cp/ansible-ssh-%h-%p-%r 192.168.1.206 '/bin/sh -c '"'"'( umask 22 && mkdir -p "` echo $HOME/.ansible/tmp/ansible-tmp-1464128959.67-131325759126042 `" && echo "` echo $HOME/.ansible/tmp/ansible-tmp-1464128959.67-131325759126042 `" )'"'"''
192.168.1.206 | UNREACHABLE! => {
"changed": false,
"msg": "Failed to connect to the host via ssh.",
"unreachable": true
}
这与this question看起来相同,但添加密码/用户位对我没有任何影响,不需要ping,并且无论如何都不在官方示例中。在任何情况下,我都希望将Ansible配置为使用特定的公钥/私钥对(按照ssh -i ~/.ssh/keyfile
方法..)
感激帮助。
哦,是的,Raspberry可以在该地址获得:
$ ping 192.168.1.206
PING 192.168.1.206 (192.168.1.206): 56 data bytes
64 bytes from 192.168.1.206: icmp_seq=0 ttl=64 time=83.822 ms
答案 0 :(得分:0)
尽管它的名字可能暗示,Ansible ping
模块不会进行ICMP ping。
它尝试连接到主机并确保安装了兼容的Python版本(如documentation中所述)。
ping - 尝试连接到主机,验证可用的python并在成功时返回pong。
如果您想使用特定的私钥,可以在广告资源文件中指定ansible_ssh_private_key_file
:
[all]
192.168.1.206 ansible_ssh_private_key_file=/home/example/.ssh/keyfile
答案 1 :(得分:0)
它对我有用。
10.23.4.5 ansible_ssh_pass ='password'ansible_user ='root'
答案 2 :(得分:0)
您还可以通过在调试模式下执行ssh进行故障排除并在运行时比较结果:
ssh -v pi@192.168.1.206
具有:
ansible all -m ping -vvvv