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

相关推荐

  • Windows SMB请求重放攻击分析

    smb中继或叫smb请求重放攻击,B是一个smb服务器,A来进行认证,B将A的认证信息转发到C上,如果A的凭证在C上认证成功就能进行下一步操作,如创建服务执行命令。如果在域中控制了某些常用服务,如:WEB OA系统、文件共享等服务则可以尝试使用SMB中继攻击来引诱域管理员访问达到获取其他机器权限的目的。 环境 192.168.123.10 win 7&nbs…

    2023年3月3日
    1.8K00
  • centos7 shell 支持中文显示

    其实很简单,让 shell 支持 utf8 即可。先使用locale命令看一下设置情况: LC_ALL没有设置,需要赋值en_US.UTF-8,很简单: 最后,不要忘了source一下bash_profile,让其生效。

    2023年3月14日
    1.4K00
  • 部署linux服务器管理面板–Ajenti

    一、部署Ajenti服务器管理面板 1.Ajenti官网 官网地址:https://ajenti.org/ 2.其他操作系统部署方式 3.部署Ajenti 在本地直接部署署Ajenti,安装成功会有如下提示。 curl https://raw.githubusercontent.com/Eugeny/ajenti/master/scripts/install…

    2023年9月19日
    1.4K00
  • NtLmSsp攻击的解决办法

    问题描述 服务器无法连接或者服务器经常自动重启 问题排查 查看系统日志,在安全类目发现大量的登录审核失败的记录。 解决方法 进行NTLM策略控制,彻底阻止NTLM响应 修改以下2个设置: 网络安全:Lan管理器身份验证级别:仅发送 NTLMv2 响应/拒绝 LM 和 NTLM 网络安全:限制NTLM:传入NTLM流量 修改成拒绝所有账户

    2022年9月3日
    3.6K00
  • kali系统登录密码忘了如何进行重置

    如果你的kali系统密码忘记了,又不想重装系统,那么,你可以通过如下几个步骤来强制重置root密码 第一步:在启动kali系统之后会进入到一个引导界面,然后我们需要按“e”来进入启动前的编辑命令,若你在开机时没有出现如下界面,你可以连续按上下键来阻止系统正常启动,以此来进入这个开机引导界面。 第二步:按“e”进入到启动前编辑命令界面后,找到以下内容,并做一定…

    2022年6月13日
    3.7K00

发表回复

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

在线咨询: QQ交谈

邮件:712342017@qq.com

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

关注微信