5.7. 使用 SSH 跳过主机连接到远程服务器
使用这个步骤通过中间服务器(也称为跳过主机)将本地系统连接到远程服务器。
先决条件
- 跳过主机接受来自本地系统的 SSH 连接。
- 远程服务器只接受来自跳过主机的 SSH 连接。
流程
通过编辑本地系统中的
~/.ssh/config
文件来定义跳板主机,例如:Host jump-server1 HostName jump1.example.com
-
Host
参数定义您可以在ssh
命令中使用的主机的名称或别名。该值可以匹配真实的主机名,但也可以是任意字符串。 -
HostName
参数设置跳过主机的实际主机名或 IP 地址。
-
使用
ProxyJump
指令将远程服务器跳板配置添加到本地系统上的~/.ssh/config
文件中,例如:Host remote-server HostName remote1.example.com ProxyJump jump-server1
使用您的本地系统通过跳过服务器连接到远程服务器:
$ ssh remote-server
如果省略了配置步骤 1 和 2,则上一命令等同于
ssh -J skip-server1 remote-server
命令。
注意
您可以指定更多的跳板服务器,您也可以在提供其完整主机名时跳过在配置文件中添加主机定义,例如:
$ ssh -J jump1.example.com,jump2.example.com,jump3.example.com remote1.example.com
如果跳板服务器上的用户名或 SSH 端口与远程服务器上的用户名和端口不同,请只修改上一命令中的主机名表示法,例如:
$ ssh -J johndoe@jump1.example.com:75,johndoe@jump2.example.com:75,johndoe@jump3.example.com:75 joesec@remote1.example.com:220
其他资源
-
ssh_config(5)
和ssh(1)
手册页.