ansible教程 及 教程中遇到的问题 (Connection failed解决办法,ansible连接错误Failed to connect to the host via ssh)

教程

Ansible中文权威指南
Ansible自动化运维教程
非常好的Ansible入门教程(超简单)

教程中遇到的问题

  1. ubuntu使用pip下载,结果没有找到/etc/ansible文件(可能是因为同时存在python2 和 python3 。在下载目录下面也没有找到ansible.cfg文件(可以使用ansible --version查看),所以最后使用apt-get方法安装。
  2. 使用sudo apt-get安装ansible的时候,可能会出现类似下面的错误:
Hit:1 https://mirrors.tuna.tsinghua.edu.cn/ubuntu bionic InRelease
Hit:2 https://mirrors.tuna.tsinghua.edu.cn/ubuntu bionic-updates InRelease     
Hit:3 https://mirrors.tuna.tsinghua.edu.cn/ubuntu bionic-backports InRelease   
Hit:4 https://mirrors.tuna.tsinghua.edu.cn/ubuntu bionic-security InRelease    
Hit:5 http://ppa.launchpad.net/ansible/ansible/ubuntu bionic InRelease         
Err:6 http://dl.google.com/linux/chrome/deb stable InRelease                   
  Connection failed [IP: 2404:6800:4005:80d::200e 80]
Reading package lists... Done                      
W: Failed to fetch http://dl.google.com/linux/chrome/deb/dists/stable/InRelease  Connection failed [IP: 2404:6800:4005:80d::200e 80]
W: Some index files failed to download. They have been ignored, or old ones used instead.

这个错误的看到Err的后面是网址,然后可以在/etc/apt/sources.list.d目录下,找到google-chrome.list(如果是其他网址,比如搜狗输入法,则找到sogou…list),然后sudo gedit google-chrome.list打开文件,找到和报错一样的那一行代码,用#注释,如下:
在这里插入图片描述
3. 在第三个教程中,使用了hosts文件来测试能否连接其他电脑,但是教程很不详细,这里补充几点:
首先就是那个[remote]下面的地址,是你想要ping的终端的ip地址,不能乱填。如果两个终端在局域网中,可以使用ifconfig命令查看。然后hosts文件的[remote]如下:
在这里插入图片描述
然后在pass后面填入对面终端的密码,其他inventory参数的使用可以看Inventory文件
最后使用

ansible -i ./hosts --connection=local local -m ping # 本机测试
ansible -i ./hosts remote -m ping # 客户机测试

正确结果如下
在这里插入图片描述在这里插入图片描述
如果出现“Failed to connect to the host via ssh”可以看 https://github.com/ansible/ansible/issues/16354


参考链接:
无法连接上 archive.ubuntukylin.com:10006 (61.144.43.73),连接超时的错误。
论坛:Failed to connect to the host via ssh
ubuntu开启SSH服务

你可能感兴趣的:(运维机器人项目)