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.comssh -i keyfile_internal -p 23456 user@internal2.example.com

解决方案:

修改 ~/.ssh/config,加入如下的配置项,

Host internal1.example.com internal2.example.comUser userPort 23456IdentityFile=keyfile_internalProxyCommand ssh -qaY -i keyfile_bastion -p 12345 user@bastion.example.com 'nc -w 14400 %h %p'注意这地方的1key 就是执行机器的位置。2域名跳板机也写hosts 做解析。3.本机器hosts也要做解析。

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

ssh user@internal1.example.com

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

ansible -i host -m setup internal1.example.com

转载于:https://blog.51cto.com/hzcsky/2370821

Ansible结合跳板机控制远程服务器相关推荐

  1. 跳板机连接linux服务器,linux通过跳板机连接远程服务器并进行文件传输的方法...

    linux通过跳板机连接远程服务器并进行文件传输的方法 最近在linux主机上部署环境时,遇到了很多问题,第一个就是通过跳板机远程连接服务器传输文件的问题. 看了很多网上的解决办法,大部分就是说用Se ...

  2. linux ssh scp 使用跳板机 访问 远程服务器

    处于防火墙内部的主机往往需要通过跳板机才能访问互联网上的远程服务器.如下图所示: +--------------------+ +---------------------+ +----------- ...

  3. winscp通过跳板机访问远程服务器(使用秘钥的方式传输文件)

    一般需要ssh两个账户或两个设备才能有权限传输数据时经常遇到下面情况: 我们一般连接跳板机使用的用户权限很小,能访问的文件不多,要是我想传输数据到我的设备上,却必须用跳板机连接设备怎么办?(别告诉我先 ...

  4. aspx调试的时候其他机器也可以打开_VSCode 穿越跳板机调试远程代码

    概述 利用跳板机上的nc做前向代理 随后编辑windows上的ssh config 用vscode实现远程调试,和穿越跳板机的文件传输 确定连接方式 利用nc 首先登录跳板机,输入"nc&q ...

  5. 烂泥:net use与shutdown配合使用,本机重启远程服务器

    烂泥:net use与shutdown配合使用,本机重启远程服务器 今天服务器出现问题了,能ping通,但就是远程登录服务器后,服务器无法响应. 在本机测试发现ftp服务可以使用,于是就想通过ftp就 ...

  6. linux启动本地远程服务,如何使用SSH在本地控制远程服务器执行命令

    通过SSH在本地控制远程服务器执行命令,如果每次都要登录到远程服务器真的好麻烦,起始通过SSH就可以远程执行 在本地使用 ssh $RemoteNode    可以在执行远程机器上的命令,例如 ssh ...

  7. 利用SSH 或 Teamviewer 控制远程服务器

    利用SSH server 控制远程服务器 安装SSH server 相对比较简单 安装 apt-get install openssh 验证SSH server是否安装成功 ps -e | grep ...

  8. linux查看远程服务器端口,linux下查看本机和远程服务器的端口是否连通的方法...

    linux下查看本机和远程服务器的端口是否连通的方法 如下所示: 1.ssh -v -p [端口号] [用户名]@[IP地址] 2.curl [IP地址]:[端口号] 以上这篇linux下查看本机和远 ...

  9. windows服务器远程重启又好,net use与shutdown配合使用,本机重启远程服务器

    net use与shutdown配合使用,本机重启远程服务器 今天服务器出现问题了,能ping通,但就是远程登录服务器后,服务器无法响应. 在本机测试发现ftp服务可以使用,于是就想通过ftp就行重启 ...

最新文章

  1. ETSI — MEC — APIs 清单
  2. wget: unable to resolve host address “mirrors.163.com” 的解决办法
  3. Java IO: 文件
  4. 终于来了!Python 编辑神器 Jupyter ,推出首款官方可视化 Debug 工具!
  5. [转]测试淘宝站内的搜索系统
  6. Git commit至Gitee报错‘remote: error: hook declined to update refs/heads/master‘的解决方法
  7. 理解WebKit和Chromium: Content API和CEF3
  8. LINUX下载编译g729
  9. python关键词排名批量查排名_李亚涛:python批量查询关键词百度手机与PC排名
  10. 在哈尔滨的寒风中EOJ 3461【组合数学】
  11. 站点(e.g. Hexo Blog)提交百度搜索引擎收录实现SEO
  12. ENSP中ACL,NAT配置
  13. 此图片来自微信公众平台 未经允许不可引用
  14. 计算机网络的三种交换方式
  15. modprobe命令加载驱动问题?
  16. DNSPod十问梁定安: 工业互联网唤醒制造业的第二个春天
  17. 最新版java(JDK-14)下载及安装
  18. 带圈的11-15如何打出
  19. iPhone 6弧角边 如放大版iPod touch
  20. matlab 一元函数最大值,一个用MATLAB编写的基于遗传算法的求一元函数最大值的程序...

热门文章

  1. jQuery 选择器和筛选
  2. JavaScript 匿名函数与闭包
  3. 带你了解FPGA(1)--一些需要了解的概念
  4. 奇偶链表的分割(C++)
  5. mysql s授权所有用户_批量获取mysql用户权限的方法
  6. 数组c语言与指针,浅析C语言数组与指针
  7. 小郡肝火锅点餐系统——项目文档
  8. (一)flask-sqlalchemy的安装和配置
  9. cuDNN编写卷积实例
  10. mysql 8.0 java连接报错:Unknown system variable 'query_cache_size'