Ansible无法连接SSH(横幅交换)

时间:2018-04-03 11:55:44

标签: ssh ansible

如果问题不明确和/或我不问我应该在哪里,请提前抱歉。

我在通过SSH连接到带有ansible的主机时遇到问题。它几天前工作,但我已经有几天相同的消息错误:

        camille@ubuntu:~$ ansible all  -m ping -u remote
192.168.15.129 | UNREACHABLE! => {
        "changed": false, 
        "msg": "Failed to connect to the host via ssh: Connection timed out during banner exchange\r\n", 
        "unreachable": true
    }

SSH连接(没有ansible),工作得很好,所以我真的不明白这个问题。我在Ubuntu 16.04 VM上运行Ansible,我想要访问的主机是CentOS 7 VM。

我的主机文件如下:

[test]    
192.168.15.29 ansible_ssh_user=remote ansible_ssh_pass=password ansible_sudo_pass='password' #VM CentOS

我尝试了解释here的解决方案,但它没有解决问题。

编辑1:在尝试Ripper Tops解决方案并测试其他一些内容后,我的广告资源现在看起来像这样:

[test]
192.168.15.129 ansible_connection=ssh ansible_user=remote ansible_password='password'

[test:vars]
proxy=my_proxy:8080

我也尝试将超时增加到25,我仍然有同样的问题。

编辑2

更改我的ansible.cfg文件后,错误消息已更改:

192.168.15.129 | UNREACHABLE! => {
    "changed": false, 
    "msg": "SSH Error: data could not be sent to remote host \"192.168.15.129\". Make sure this host can be reached over ssh", 
    "unreachable": true }

我再次测试ssh连接,它仍然运行良好。

我的配置文件现在是:

[defaults]

timeout = 25
host_key_checking = False 
roles_path = roles/
gathering = smart 

[ssh_connection]
ssh_args = -o 
ControlMaster=auto -o 
ControlPersist=600s 
control_path = %(directory)s/%%h-%%r 
pipelining = True

你对此有什么线索吗?

2 个答案:

答案 0 :(得分:1)

尝试使用ansible_user代替ansible_ssh_useransible_password代替ansible_ssh_pass。这取决于您的ansible版本。 另外,您可能需要在[group:vars]部分后面的[group]放置清单文件。

有简单的方法来检查差异

ansible 192.168.15.29 -i your_hosts_file -m ping -e“ansible_ssh_user = remote ansible_ssh_pass = password”

ansible 192.168.15.29 -i your_hosts_file -m ping -e“ansible_user = remote ansible_password = password”

答案 1 :(得分:0)

我终于解决了我的问题! :d - 我应用Ripper Tops的建议(再次感谢):更改ansible.cfg(参见第1条消息) - 我将主机文件更改为以下内容:

[test]
192.168.15.129  ansible_user=remote ansible_password=remote_password ansible_ssh_user=remote ansible_ssh_pass=remote_password

[test:vars]
proxy=my_proxy:8080
  • 我使用-c paramiko选项
  • 来ping我的主机

再次感谢Ripper Tops为您的时间和帮助:)