使用ProxyCommand透过多层跳板机

  |   0 评论   |   0 浏览

背景

初体验

多台跳板机的登陆方法

默认使用

ssh root@跳板机ip 
ssh root@自己的目标机器ip

但是每次这样登录很繁琐,可以使用openssh的ProxyCommand配置来快速登录。

编写文件 ~/.ssh/config,如下:

Host tiaoban
 Hostname 跳板机的ip
 Port 跳板机的端口(如果是非22的需要填写)
 User root(如果非root,换成跳板机的用户)
Host mubiaoji
 Hostname 目标机的IP
 Port 跳板机的端口(如果是非22的需要填写)
 User root(如果非root,换成跳板机的用户)
 ProxyCommand ssh -q -x -W %h:%p tiaoban

这儿的%h表示要连接的目标机,也就是Hostname指定的ip或者主机名,%p表示要连接到目标机的端口.这儿可以直接写死固定值,但是使用%h和%p可以保证在Hostname和Port变化的情况下ProxyCommand这行不用跟着变化。

然后我们直接ssh mubiaoji,可以看到直接就连接上了.

整个链路如下:

ssh高级用法(一) 使用ProxyCommand透过多层跳板机

理论上我们可以透过任意层数的跳板机. 如下就是两层跳板机的配置。

Host tiaoban1
 Hostname 跳板机的ip
 Port 跳板机的端口(如果是非22的需要填写)
 User root(如果非root,换成跳板机的用户)
Host tiaoban2
 Hostname 跳板机的ip
 Port 跳板机的端口(如果是非22的需要填写)
 User root(如果非root,换成跳板机的用户)
 ProxyCommand ssh -q -x -W %h:%p tiaoban1
Host mubiaoji
 Hostname 目标机的IP
 Port 跳板机的端口(如果是非22的需要填写)
 User root(如果非root,换成跳板机的用户)
 ProxyCommand ssh -q -x -W %h:%p tiaoban2

当我们可以登录到环境之后,我们就可以搭配上-L(本地转发),-R(远程转发),-D(动态转发)方便从环境里面进出以及登录环境里面的各种WEB界面了。

参考