请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

一个远控时无法执行ansible命令的情况

mac 系统
远控一台centos虚拟机,设置虚拟机免密登录其他两台centos虚拟机
用mac的terminal工具远控执行 ansible 的相关命令 出现了报错,

但是我直接通过虚拟机却可以执行,并且在直接用虚拟机执行 ansible 相关命令之后,在一小段时间内,可以用 mac 的 terminal 远控执行 ansible 相关命令了,但是过一会就又不能执行了

[root@localhost ~]# ansible all -m ping
192.168.112.132 | UNREACHABLE! => {
    "changed": false,
    "msg": "Failed to connect to the host via ssh: root@192.168.112.132: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).",
    "unreachable": true
}
192.168.112.133 | UNREACHABLE! => {
    "changed": false,
    "msg": "Failed to connect to the host via ssh: root@192.168.112.133: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).",
    "unreachable": true
}
[root@localhost ~]# ansible all -m command -a "ls /root"
192.168.112.132 | UNREACHABLE! => {
    "changed": false,
    "msg": "Failed to connect to the host via ssh: root@192.168.112.132: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).",
    "unreachable": true
}
192.168.112.133 | UNREACHABLE! => {
    "changed": false,
    "msg": "Failed to connect to the host via ssh: root@192.168.112.133: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).",
    "unreachable": true
}

正在回答

1回答

看了一下你的描述,你是在远程的centos系统上执行的ansible指令对吧。如果直接用系统默认的ping就OK,但是用ansible执行ping就报错?

按照ansible的提示,应该是没有设置免密登录

你可以通过如下方式进行验证,ssh root@192.168.112.132,看是否需要输入密码,按照我的理解应该是需要的。

这时候,再按照ssh-copy-id root@192.168.112.132,输入密码后拷贝公钥,之后就可以实现免密登录了

再执行以下ansible all -m ping看一下结果



0 回复 有任何疑惑可以回复我~
  • 提问者 藩王 #1
    可能是免密登录的方式不一样, 我不知道其他的 mac 免密登录方法, 现在用的是方法是在.ssh/config中添加ssh免密登录设置,可能有点不太一样, 后来我试了直接用虚拟机操控虚拟机是没有阻碍的
    回复 有任何疑惑可以回复我~ 2024-02-03 09:26:01
  • JianquanLi 回复 提问者 藩王 #2
    嗯嗯是的,mac系统的免密登录可能与Linux系统的不太一样,建议在三台CentOS系统上进行相关实验
    回复 有任何疑惑可以回复我~ 2024-02-06 21:10:22
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信