ansible报错Gathering Facts处理

问题:ansible远程部署,目标机器有的可以部署成功,有的不行

报错: FAILED! => {"changed": false, "module_stderr": "Shared connection to 10.64.7.107 closed.\r\n

排除问题步骤:

1、怀疑连通问题:

(1)ssh 用户@ip  如果能登录目标机器说明不是连接的问题

(2)用ansible的校验连通性的命令---好吧我忘了,回头百度补充

2、观察错误信息分析

报错中的路径都是目标机器上的,且看着是ssh连接不上,ansible的机器是python2的环境,目标环境报错python版本是3.5的,怀疑是版本问题

在目标机器查询python版本是3.5,修改到版本2.6后解决

(1)修改用户的python版本:

修改用户的:~/.bashrc文件

添加 alias python='/usr/bin/python版本路径'

发现此用户权限下的确是python2了,但是问题没有解决

(2)ansible调用的目标机器的默认的python版本

原来python的软连接不对,修改到python2.6好了,修改好如下图

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当使用Ansible时,可能会遇到这样的错误提示:“added 'ip' (ecdsa) to the list of known hosts”。这个错误提示表示Ansible试图将目标主机的IP地址添加到已知主机列表中。 这个错误通常是由于第一次连接到远程主机时引起的,Ansible将主机密钥添加到~/.ssh/known_hosts文件中。这是Ansible的正常行为,以确保安全连接和身份验证。 要解决这个问题,有以下几种方法: 1. 忽略已知主机检查:在执行Ansible命令时,可以使用`-k`参数或`--ask-pass`参数来忽略对已知主机的检查。例如,`ansible-playbook -i inventory.ini playbook.yaml -k`。这个方法虽然简单,但会牺牲一部分安全性。 2. 更新known_hosts文件:如果你确定目标主机是安全的,你可以手动更新`~/.ssh/known_hosts`文件,添加目标主机的IP地址和密钥。你可以使用SSH命令`ssh-keyscan`来获取主机密钥并添加到known_hosts文件中。例如,`ssh-keyscan -H ip >> ~/.ssh/known_hosts`。这样做的好处是避免了每次连接时的询问,但仍保持了一定的安全性。 3. 使用ssh-keygen重新生成密钥:如果你不确定目标主机的安全性,你可以尝试使用`ssh-keygen`命令生成新的公钥和私钥。然后,将新的公钥复制到目标主机的`~/.ssh/authorized_keys`文件中。这样可以确保安全连接和身份验证。 无论你选择哪种方法,记得在操作之前确保备份重要的配置文件和数据,以免意外损失。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值