ssh 和 Ansible 的问题

ssh 和 Ansible 的问题

运行 ansible 任务(带有script操作)时,我收到此错误消息:

stderr: OpenSSH_6.0p1 Debian-4+deb7u2, OpenSSL 1.0.1e 11 Feb 2013
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: auto-mux: Trying existing master
debug1: mux_client_request_session: master session id: 2
Shared connection to 10.0.2.222 closed.

现在,在此之前有一堆针对同一主机的任务,它们都运行良好。我知道它是客户端,因为客户端是 Debian;正在配置的东西是 Centos。

当我尝试查找此错误消息时,我发现(令我懊恼的是)我得到的信息通常是针对其他问题的某个较长消息的第一部分。我尝试添加

Host 10.0.2.222
  ControlMaster no

/etc/ssh/ssh_config因为我的开始这个问题出于纯粹的绝望,但它没有起作用,而且我真的不知道可能出了什么问题;我对 SSH 的工作原理了解不够,甚至无法弄清楚最可能的罪魁祸首是什么。

答案1

这解决了问题中提到的问题(ssh 连接仍然存在问题,但那是另一个问题)。

默认情况下,ansible 添加了一些覆盖选项的选项ssh_config。具体来说,它添加了:

-o ControlMaster=auto -o ControlPersist=60s -o ControlPath="/home/devel/.ansible/cp/ansible-ssh-%h-%p-%r"

-vvv通过使用来解决这个问题ansible-playbook

您可以通过在指定的部分ssh_args中指定来修复/覆盖这些选项[ssh_connection].ansible.cfg这里。同样值得注意的是,与您可能从名称推断出的相反,更改ssh_args实际上并不会更改所有参数。Ansible 还会传递-C -tt -v -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o ConnectTimeout=10和其他选项(例如-o PasswordAuthentication=no -o User=root),其中一些只是不可变的默认值,而另一些则取决于您在剧本中指定的变量。

相关内容