Ansible ssh连接失败,并显示“无法登录:连接被拒绝”

时间:2019-04-24 06:39:53

标签: ansible ansible-inventory

我有一个esxi主机。我需要获取一些数据,我需要在同一主机上安装linux。因此,我使用带有rhel7.4的liveboot重启了主机。执行一些操作,然后再次使用本地启动方式重新启动主机。 所以问题是,第二次启动发生时,我无法执行ssh连接失败的任务,如下所示

"stderr_lines": [
    "Failed to login: Connection refused: The remote service is not running, OR is overloaded, OR a firewall is rejecting connections."
]

两个操作系统的登录凭据都相同。 如果我跳过linux操作系统的中间重新引导,则不会发生错误。

每次重新启动后,我都会执行以下一项检查任务

- name: Wait for system to boot up
  local_action: wait_for host="{{ host_name }}" port=22 state=started delay=25 timeout=3600
  become: False

这是我的ansible.cfg文件

[defaults]
host_key_checking=False

[paramiko-connection]
record_host_keys=False

[ssh_connection]
ssh_args = -o ControlMaster=auto -o ControlPersist=60s -o UserKnownHostsFile=/dev/null

我想念什么吗?

1 个答案:

答案 0 :(得分:0)

您正在使用ssh主会话...

  

-o ControlMaster =自动-o ControlPersist = 60秒

...但是您在重新引导后连接到相同的主机(相同的名称和相同的ip),这将更改基础操作系统,因此很可能是在两个操作系统之间更改了主机密钥。这是使现有的主会话挂起的理想情况。

我首先要禁用ssh master会话,看看它是否可以解决您的问题。如果这样做,并且您仍想利用主会话来提高性能,则可以在重新启动后立即在本地主机上重新启用它们并执行主会话清除。只需删除声明为ssh ControlPath

的目录中的套接字文件