Ansible ssh连接失败,“登录失败:拒绝连接”

问题描述 投票:0回答:1

我有一个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

我错过了什么吗?

ansible ansible-inventory
1个回答
0
投票

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

-o ControlMaster = auto -o ControlPersist = 60s

...但是在重新启动后,您将连接到同一主机(相同名称和相同的IP),这会更改底层操作系统,因此很可能在两个操作系统之间更改主机密钥。这是使现有主会话挂起的完美情况。

我首先禁用ssh主会话,看看它是否解决了你的问题。如果确实如此,并且您仍希望利用主会话来提高性能,则可以在重新启动后立即重新启用它们并在localhost上执行主会话清理。只需删除声明为ssh ControlPath的目录中的套接字文件

© www.soinside.com 2019 - 2024. All rights reserved.