yllplay 发表于 2018-1-3 11:53:19

ansible工具如果通过堡垒机或者跳板机管理远程服务器

  在ansible的使用过程中,存在这样的场景,ansible所在的管理节点与被管理的机器需要 通过一个跳板机才能连接,无法直接连接。要解决这个问题,并不需要在 ansible里做什么处理,而是在ssh连接层面解决这个问题。
  例如,


[*]  我们有三类节点:

[*]  管理节点,admin.example.com,是执行ansible命令的服务器

[*]  被管理的节点,internal1.example.com, internal2.example.com

[*]  跳板机,bastion.example.com


[*]  管理节点不能直连 internal1 & internal2,需要通过跳板机建立连接。

[*]  管理节点连接跳板机的方式如下:
  

ssh -i keyfile_bastion -p 12345 user@bastion.example.com  

  


[*]  从跳板机连接internal节点的方式如下:
  

ssh -i keyfile_internal -p 23456 user@internal1.example.com  
ssh -i keyfile_internal -p 23456 user@internal2.example.com
  

  


  解决方案:
  修改 ~/.ssh/config,加入如下的配置项,
  

    Host internal1.example.com internal2.example.com  
User user
  
Port 23456
  
IdentityFile=keyfile_internal
  
ProxyCommand ssh -qaY -i keyfile_bastion -p 12345 user@bastion.example.com 'nc -w 14400 %h %p'
  

  

  这样,就可以直接从节点 admin.example.com 执行下面的命令直接连接internal1.example.com了
  

    ssh user@internal1.example.com  

  

  ansible中也可以将internal节点当做可以直接连接的机器来使用
  

    ansible -i host -m setup internal1.example.com  
原文链接:http://www.cnblogs.com/junneyang/p/6073714.html
页: [1]
查看完整版本: ansible工具如果通过堡垒机或者跳板机管理远程服务器