ansible错误解决:UNREACHABLE Failed to connect to the host via ssh.

执行过程是,ansible接收动态的hosts与本地的私钥,通过无密码登录方式运行一个playbook,但是运行后始终出现如下问题: 



PLAY [120.27.26.*] ************************************************************


TASK [setup] *******************************************************************
[1;31mfatal: [120.27.26.*]: UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host via ssh.", "unreachable": true}
    to retry, use: --limit @/home/wxd/project/ansible_ui/projects/16/.tmp/fdeb167c-3705-11e6-8570-080027082f96.retry

PLAY RECAP *********************************************************************
120.27.26.*               : ok=0    changed=0    [1;31munreachable[1;31m=[1;31m1    failed=0   




1. 联想到后面如果接密码参数 --ask-pass时始终都能成功运行,所以才想到可能是密钥的问题,随后网上查了一下,需要改成600的权限才能正常运行,

chmod 600 /root/xxx.pem 

再运行就正常了



2. 如果在后面加上 -vvvv的参数,可以查看到详情报错如下:

Aborting, target uses selinux but python bindings (libselinux-python) aren't installed!


执行 

yum install libselinux-python -y 


安装后就可以运行了



PLAY [218.75.159.*] **********************************************************

TASK [setup] *******************************************************************
ok: [218.75.159.*]

TASK [include] *****************************************************************
included: /home/wxd/project/ansible_ui/projects/cdl2/playbooks/modify_sync_conf.yml for 218.75.159.*

TASK [insert some lines in /tmp/sync.conf, not in /usr/local/btsync/sync.conf] *
ok: [218.75.159.*]

PLAY RECAP *********************************************************************

218.75.159.*             : ok=3    changed=0    unreachable=0    failed=0   


如果都配置好了,还是登录需要密码,可以在后面加个参数-v,以打印详细的连接状态,如下:

ssh [email protected] -p 22 -v

注意也有可能是防火墙打开了,所以最好是检查一下,

# getenforce

如果打开就关闭:

# setenforce 0


------------------------------------

可以在命令后面加上-vvv查看详细的输出结果,有可能是用户的私钥配置不正确

也有可能是.ssh/config文件未配置正确


-------------------------------------------------------------------------------------

有时在用paramiko部署密钥时会出现如下错误:

deploy Error: ('x.x.x.x', , )

一般 原因是可能在跳板机中已经存在 这个ip的相关信息,请把known_host这个文件 删除 ,然后重试就好了











你可能感兴趣的:(ansible错误解决:UNREACHABLE Failed to connect to the host via ssh.)