跳转主机(也称为跳转服务器)是远程网络的中间主机或SSH网关,通过它可以连接到不同安全区域中的另一台主机。四川联想代理它桥接两个不同的安全区域并提供它们之间的受控访问。
跳转主机应该受到高度保护和监控,尤其是当它跨越专用网络时,服务器会在Internet上为用户提供服务。
一个典型的场景是从您公司内部网络的台式机或笔记本电脑连接,该内部网络通过防火墙高度安全地连接到DMZ。为了方便地管理DMZ中的服务器,您可以通过跳转主机访问它。
简而言之,SSH跳转服务器是一个Linux服务器,用作通过SSH协议连接到私有网络上其他Linux服务器的网关。
在本文中,我们将演示如何通过跳转主机访问远程Linux服务器,我们还将在您的每用户SSH客户端配置中配置必要的设置。
SSH跳转服务器设置
为了更清楚,下面是一个简单的设置,演示了SSH跳转服务器的作用。
配置SSH跳转服务器的原因
跳转服务器为您的基础设施提供了一个网关,并减少了对您的资源的潜在攻击面。它还提供设备的透明管理以及资源的单一入口点。
请记住,当您将跳转服务器合并到您的基础架构中时,请确保服务器已进行安全加固,否则和不用一样。我们稍后会在本教程中回到这一点。
如何创建一个简单的SSH跳转服务器
现在让我们看看如何创建一个简单的SSH跳转服务器。这是我们的简单设置。
始发IP:105.68.76.85。
跳转服务器IP(跳转主机1):173.82.232.55。
目标服务器IP(目标主机2):173.82.227.89。
在上面的场景中,你想连接到主机2 (173.82.227.89),但你必须通过主机1 (173.82.232.55),因为防火墙、路由和访问权限。需要跳转主机的原因有很多。
动态跳转主机列表
通过跳转主机连接到目标服务器的最简单方法是在命令行中使用-A和-J标志。这告诉 ssh 建立到跳转主机的连接,然后建立到目标服务器的 TCP 转发,从那里(确保你有机器之间的无密码 SSH 登录)。
$ ssh -A -J user@jump-server user@destination server
例如,在我们的设置中,我们在跳转服务器上配置了名为james的用户,在目标或目标系统上配置了Lenovohs。
该命令从原始 IP 看起来如下。
$ ssh -A -J james@173.82.232.55 Lenovohs@173.82.227.89
这个命令将提示您输入跳转服务器的用户密码,然后是目标系统的密码,您将被授予访问目标系统的权限。
如果机器上的用户名或端口不同,请在终端上指定它们,如下所示。
$ ssh -J username@host1:port username@host2:port
多个跳转主机列表
可以使用相同的语法在多个服务器上进行跳转。
$ ssh -J username@host1:port,username@host2:port username@host3:port
静态跳转主机列表
静态跳转主机列表意味着,您知道连接机器所需的一个或多个跳转主机。因此,您需要在~/.ssh/config文件中添加以下静态跳转主机“路由”,并指定主机别名,如下所示。
### 第一个跳转主机。直达
Host vps1
HostName vps1.example.org
### 通过 jumphost1.example.org 跳转到的主机我会联系
Host contabo
HostName contabo.example.org
ProxyJump vps1
现在尝试通过跳转主机连接到目标服务器,如图所示。
$ ssh -J vps1 contabo
第二种方法是使用ProxyCommand选项在您的或文件中添加跳转主机配置,配置文件ssh/config或$HOME/.ssh/config。
在此示例中,目标主机为contabo,跳转主机为vps1。
Host vps1
HostName vps1.example.org
IdentityFile ~/.ssh/vps1.pem
User ec2-user
Host contabo
HostName contabo.example.org
IdentityFile ~/.ssh/contabovps
Port 22
User admin
Proxy Command ssh -q -W %h:%p vps1
保存更改并退出文件。要应用更改,请重新启动 SSH 守护程序。
$ sudo systemctl restart ssh
让我们探索配置文件中使用的选项:
-q– 这代表安静模式。它会抑制警告和诊断消息。
-W– 请求将客户端上的标准输入和输出通过安全通道转发到 PORT 上的 HOST。
%h– 指定要连接的主机。
%p– 指定要连接到远程主机上的端口。
要通过跳转服务器从您的原始 IP“跳转”到目标系统,只需运行以下命令:
$ ssh contabo
上述命令将首先在受ProxyCommand影响的后台打开到vps1的 ssh 连接,然后启动到目标服务器contabo的 ssh 会话。
使 SSH 跳转服务器更安全
使此设置更安全的方法之一是将公共 SSH 密钥从原始系统复制到跳转服务器,然后最终复制到目标系统,然后禁用密码身份验证。
另外请确保Jump服务器中没有存放敏感数据,因为这可能会导致访问凭据(例如用户名和密码)泄露,从而导致系统范围内的漏洞。
成都联想服务器代理【公司名称】成都鸿盛广达科技有限公司
【代理级别】成都联想服务器总代理
【销售经理】成都鸿盛广达科技有限公司
【联系方式】座机:028-85952921 手机:13981931555
【公司地址】成都市武侯区人民南路四段一号时代数码广场A座17楼