1.6. 通过 SSH 跳板机连接到远程服务器
通过将跳过主机用作中间版本,安全地从本地系统连接到远程服务器。此方法管理位于不同安全区的主机之间的连接。
先决条件
- 跳过主机接受来自本地系统的 SSH 连接。
- 远程服务器接受来自跳板机的 SSH 连接。
流程
使用
ssh -J命令通过一个或多个中间跳跳服务器进行连接。在命令中直接指定跳过服务器,例如:$ ssh -J <jump-1.example.com>,<jump-2.example.com>,<jump-3.example.com> <target-server-1.example.com>如果需要,更改主机名的表示法。当用户名或 SSH 端口在跳板服务器和远程服务器之间有所不同时,请使用此格式,例如:
$ ssh -J <example.user.1>@<jump-1.example.com>:<75>,<example.user.2>@<jump-2.example.com>:<75>,<example.user.3>@<jump-3.example.com>:<75> <example.user.f>@<target-server-1.example.com>:<220>对于通过跳过服务器的常规连接,请将配置存储在 SSH 配置文件中:
通过编辑本地系统中的
~/.ssh/config文件来定义跳板主机,例如:Host <jump-server-1> HostName <jump-1.example.com>-
Host参数定义您可以在ssh命令中使用的主机的名称或别名。该值可以匹配实际主机名,但也可以是任意字符串。 -
HostName参数设置跳过主机的实际主机名或 IP 地址。
-
使用
ProxyJump指令将远程服务器跳板配置添加到本地系统上的~/.ssh/config文件中,例如:Host <remote-server-1> HostName <target-server-1.example.com> ProxyJump <jump-server-1>使用您的本地系统通过跳过服务器连接到远程服务器:
$ ssh <remote-server-1>如果省略之前的配置步骤,此命令等同于
ssh -J jump-server1 remote-server命令。