1.7. 通过 SSH 跳过主机连接到远程服务器


您可以通过中间服务器(也称为跳过主机)从本地系统连接到远程服务器。跳过服务器桥接来自不同安全区的主机,可以管理多个客户端-服务器连接。

先决条件

  • 跳过主机接受来自本地系统的 SSH 连接。
  • 远程服务器接受来自跳过主机的 SSH 连接。

流程

  1. 如果您通过跳过服务器或多个中间服务器进行连接,请使用 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>
  2. 如果您定期通过跳过服务器连接到远程服务器,请在 SSH 配置文件中存储 jump-server 配置:

    1. 通过编辑本地系统中的 ~/.ssh/config 文件来定义跳板主机,例如:

      Host <jump-server-1>
        HostName <jump-1.example.com>
      • Host 参数定义您可以在 ssh 命令中使用的主机的名称或别名。该值可以匹配真实的主机名,但也可以是任意字符串。
      • HostName 参数设置跳过主机的实际主机名或 IP 地址。
    2. 使用 ProxyJump 指令将远程服务器跳板配置添加到本地系统上的 ~/.ssh/config 文件中,例如:

      Host <remote-server-1>
        HostName <target-server-1.example.com>
        ProxyJump <jump-server-1>
    3. 使用您的本地系统通过跳过服务器连接到远程服务器:

      $ ssh <remote-server-1>

      如果省略前面的配置步骤,此命令等同于 ssh -J jump-server1 remote-server 命令。

其他资源

  • ssh_config(5) and ssh(1) man pages on your system
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.