编辑
2021-12-01
DevOps
00
请注意,本文编写于 885 天前,最后修改于 654 天前,其中某些信息可能已经过时。

目录

ProxyJump
ProxyCommand
参考链接

有时候需要用跳板机访问机器,更安全。

对于 openssh 7.3 以上的版本可以使用 ProxyJump, 低于 7.3 可以使用 ProxyCommand

ProxyJump

需要 OpenSSH 7.3 以上版本才可以使用 ProxyJump, 使用下列命令查看OpenSSH 版本:

$ ssh -V

ProxyJump 命令行使用方法:

ssh -J [email protected]:port1,[email protected]:port2

可以直接使用上述命令通过跳板机直接登录内网机器,比如:

ssh username@目标机器IP -p 22 -J username@跳板机IP:22

如果需要通过多个跳板机则以 , 分割:

ssh username@目标机器IP -p 22 -J username1@跳板机IP1:22,username2@跳板机IP2:22

如果你觉得每次都需要加上 -J 的配置很多麻烦,可以写到配置文件里。修改配置文件 ~.ssh\config,默认没有需要自己创建。增加以下内容:

Host target # 代表目标机器的名字 HostName 目标机器 IP # 这个是目标机器的 IP Port 22 # 目标机器 ssh 的端口 User username_target # 目标机器的用户名 ProxyJump username@跳板机IP:port Host 10.10.0.* # 使用通配符 * 代表 10.10.0.1 - 10.10.0.255 Port 22 # 服务器端口 User username # 服务器用户名 ProxyJump username@跳板机IP:port

也可以为跳板机器一个“别名”方便使用:

Host tiaoban1 # 代表跳板机 1 HostName 跳板机 1 的 IP Port 22 # ssh 连接端口 User username1 # 跳板机 1 的用户名 Host tiaoban2 # 代表跳板机 2 HostName 跳板机 2 的 IP Port 22 # ssh 连接端口 User username2 # 跳板机 2 的用户名 Host target # 代表目标机器的名字 HostName 目标机器 IP # 这个是目标机器的 IP Port 22 # 目标机器 ssh 的端口 User username_target # 目标机器的用户名 ProxyJump tiaoban1,tiaoban2 Host 10.10.0.* # 使用通配符 * 代表 10.10.0.1 - 10.10.0.255 Port 22 # 服务器端口 User username # 服务器用户名 ProxyJump tiaoban1,tiaoban2

使用方法:

ssh target ssh 10.10.0.1 ssh username@target -p22 ssh username@10.10.0.1 -p22

ProxyCommand

如果 OpenSSH 版本低于 7.3 可以使用 ProxyCommand达到同样的效果。

ProxyCommand 命令行使用方法:

ssh username@目标机器IP -p 22 -o ProxyCommand='ssh -p 22 username@跳板机IP -W %h:%p'

同样可以在 ~/.ssh/config 文件中增加配置文件:

Host tiaoban # 任意名字,随便使用 HostName 跳板机的 IP,支持域名 Port 22 # 跳板机端口 User username_tiaoban # 跳板机用户 Host target # 同样,任意名字,随便起 HostName 目标服务器 IP # 真正登陆的服务器,不支持域名必须IP地址 Port 22 # 服务器的端口 User username # 服务器的用户 ProxyCommand ssh tiaoban -W %h:%p Host 10.10.0.* # 可以用*通配符 Port 22 # 服务器的端口 User username # 服务器的用户 ProxyCommand ssh tiaoban -W %h:%p

使用方法同上:

ssh target ssh 10.10.0.1 ssh username@target -p22 ssh username@10.10.0.1 -p22

参考链接

SSH 通过跳板机直接访问内网机器

如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay

本文作者:mereith

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!