Ansible 连接主机显示报错的处理方案

一、在ansible安装完毕后一般需要以SSH的方式连接到需要进行管理的目标主机,一开始遇到了如下问题:

192.168.15.4 | UNREACHABLE! => {
"changed": false,
"msg": "Failed to connect to the host via ssh: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).\r\n",
"unreachable": true
}
192.168.15.55 | UNREACHABLE! => {
"changed": false,
"msg": "Failed to connect to the host via ssh: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).\r\n",
"unreachable": true

原因分析:
没有在ansible管理节点(即安装ansible的节点)上添加目标节点(即需要管理的节点)的ssh认证信息。

解决步骤:
1:管理节点生成SSH-KEY

ssh-keygen

成功后在~/.ssh/路径下将生成ssh密钥文件:id_rsa及id_rsa.pub
2:添加目标节点的SSH认证信息

ssh-copy-id root@目标节点IP

这里root是在目标节点上登录的用户,@符号后面接目标节点IP即可,之后会提示输入目标节点root用户密码,输入即可。
添加认证信息后,目标节点主机的~/.ssh/目录下将会出现一个authorized_keys文件,里面包含了ansible管理节点的公钥信息,可以检查一下是否存在。
3:在确定目标主机的SSH认证信息都已正确添加且目标主机的~/.ssh/目录都存在管理节点的公钥信息后,再执行之前出错的ansible ping指令:

#ansible -m ping all

192.168.15.4 | SUCCES对之前未连接的主机进行连结时报错如下:S => {
    "changed": false, 
    "ping": "pong"
}
192.168.15.55 | SUCCESS => {
    "changed": false, 
    "ping": "pong"
}

二、对之前未连接的主机进行连结时报错如下:

[root@puppet ~]# ansible webservers -m command -a 'ls ~' -k
SSH password:
192.168.15.10 | FAILED | rc=0 >>
Using a SSH password instead of a key is not possible because Host Key checking is enabled and sshpass does not support this. Please add this host's fingerprint to your known_hosts file to manage this host.

解决步骤:
修改ansible.cfg文件

vi /etc/ansible/ansible.cfg

找到以下行,让host_key_checking=False这行生效

uncomment this to disable SSH key host checking
host_key_checking = False

三、ansible requires a json module, none found!

SSH password:192.168.15.123 | FAILED >> { "failed": true, "msg": "Error: ansible requires a json module, nonefound!", "parsed": false}

解决步骤:
python版本过低,要不升级python要不就升级安装python-simplejson。yum install -y python-simplejson

四、第一次系统初始化运行生成本机ansible用户key时报错

failed: [127.0.0.1] =>{"checksum": "f5f2f20fc0774be961fffb951a50023e31abe920","failed": true}msg: Aborting, target uses selinux but pythonbindings (libselinux-python) aren't installed!FATAL: all hosts have already failed –aborting

解放步骤:

yum install libselinux-python -y

五、使用命令报错

·····Traceback (most recent call last): File "/usr/bin/ansible", line 197, in (runner, results) = cli.run(options, args) File "/usr/bin/ansible", line 163, in run extra_vars=extra_vars, File "/usr/lib/python2.6/site-packages/ansible/runner/init.py", line 233, in init cmd = subprocess.Popen(['ssh','-o','ControlPersist'], stdout=subprocess.PIPE, stderr=subprocess.PIPE) File "/usr/lib64/python2.6/subprocess.py", line 639, in init errread, errwrite) File "/usr/lib64/python2.6/subprocess.py", line 1228, in _execute_child raise child_exceptionOSError: [Errno 2] No such file or directory

解决步骤:

yum install openssh-clients

文章来源:https://www.cnaaa.net,转载请注明出处:https://www.cnaaa.net/archives/9774

(0)
郭靖的头像郭靖
上一篇 2023年9月27日 下午7:43
下一篇 2023年10月7日 下午7:52

相关推荐

  • Expect解决shell脚本的交互需求

    在linux系统中,shell脚本可以大大提高我们的工作效率。但遇到需要交互的场景时,shell脚本却无法解决。 简介 Expect语言是基于Tcl的。Tcl实际上是一个子程序库,这些子程序库可以嵌入到程序里从而提供语言服务。 最终的语言有点象一个典型的 Shell语言。里面有给变量赋值的set命令,控制程序执行的if,for,continue等命令,还能进…

    2022年11月15日
    1.2K00
  • 幻兽帕鲁服务器进阶指南:配置游戏参数

    复制幻兽帕鲁默认配置文件 Windows 操作系统 参考本网站前面的教程,登录Windows服务器后,可以看到游戏的默认配置文件存放在以下目录中: 如您的幻兽帕鲁部署路径不为C:\Program Files\PalServer,推荐您直接使用文件名DefaultPalWorldSettings.ini,在Windows的文件夹内进行搜索。 2、选中该文件,并…

    2024年1月30日
    1.2K00
  • centos7 丢失grub无法启动

    1、使用CentOS7的原版镜像开机从光驱启动 当然你也可以做成启动U盘,从U盘启动 2、选择Troubleshooting->Rescue a CentOS system 3、根据提示先选择1 提示没有找到任何Linux分区,这时会进入shell 4、发现LVM逻辑卷 可以看到/dev/sda2为LVM2_member 5、挂载故障根分区到/mnt/sys…

    2023年7月20日
    1.2K00
  • linux之运维性能命令

    在 Linux 系统中,有许多命令和工具可以帮助运维人员监控系统状态、性能以及定位问题。以下是一些常用的运维相关命令: top: 如前所述,实时显示进程的资源占用情况。 htop: 类似于 top,但提供了一个更为用户友好的界面,支持颜色显示和滚动。 vmstat: 报告有关系统进程、内存、分页、块 IO、陷阱和 CPU 活动的信息。 iostat: 用于监…

    2024年7月3日
    2.1K00
  • Win10提示你的设备缺少重要的安全和质量修复要怎么办

    最近有不少小伙伴在对自己的Win10系统进行更新时被提示“你的设备缺少重要的安全和质量修复”,这种一般是更新服务的时候出现问题,当然也有可能是系统本身的问题,那么要如何去解决呢?下面就和小编一起来看看方法吧。 解决方法一 1. 左下角打开搜索框,输入service,点击服务。 2. 在服务功能中找到更新选项,停止更改服务。 3. 然后删除更新下载文件,如下图…

    2024年6月6日
    1.9K00

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

在线咨询: QQ交谈

邮件:712342017@qq.com

工作时间:周一至周五,8:30-17:30,节假日休息

关注微信