我使用ansible自动执行某些任务。 其中一人要求我ssh到服务器A,然后从A B,然后从B.ç我似乎无法找到任何方式来获得ansible这样做。 有什么建议?
Answer 1:
既然你不使用的paramiko对SSH( transport = ssh
),Ansible将充分利用你~/.ssh/config
。 因此,你可以在全球范围定义您的ssh配置的所有连接的规则。
如果由于某种原因,你想Ansible不使用默认的ssh配置,但提供了一个单独的配置,你可以在你定义这个ansible.cfg
:
[ssh_connection]
ssh_args= -F "/path/to/ssh/config/specifically/for/ansible"
在你的ssh配置,然后建立连接的规则。 要坚持你的例子:
Host HostA
HostName real-host-name-A.com
Host HostB
HostName real-host-name-B.com
ProxyCommand ssh -q HostA nc %h %p
Host HostC
HostName real-host-name-C.com
ProxyCommand ssh -q HostB nc %h %p
- 连接到A的直接
- 连接到B经过
- 连接到C经过B,它经过一个
文章来源: SSH to remote server using ansible