我正在使用 ansible 来自动化一些任务。其中之一要求我ssh到服务器A,然后从A到B,然后从B到C。我似乎找不到任何方法来做到这一点。有什么建议么?
鉴于您不使用 Paramiko 进行 ssh (transport = ssh https://docs.ansible.com/ansible/latest/reference_appendices/config.html#default-transport),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 的连接经过 A
- 到 C 的连接经过 B,B 又经过 A
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)