SSH网关服务器

Lig*_*g77 6 networking linux ssh port-forwarding

反正有没有设置ssh网关服务器?我试图设置的是一种无需使用端口号即可从 Internet 远程连接到 LAN 上特定 linux shell 的方法。所以例如登录看起来像这样

ssh server1.domain.com 
Run Code Online (Sandbox Code Playgroud)

或者

ssh server2.domain.com 
Run Code Online (Sandbox Code Playgroud)

而不是 ssh domain.com:(portnumber)将端口转发映射(portnumber)到服务器私有 IP 地址的端口 22

每个服务器都有一个私有 IP 地址并共享公共 IP。

谢谢你

Jak*_*uje 6

这在您描述的方式中是不可能的,因为ssh不使用任何域和子域的概念(主机名不是协议的一部分,因为它是 HTTP)。它仅使用主机名来获取 IP 地址并使用它(当然还有端口)。您的概念只有在您拥有公共 IP 地址列表时才有效,当您问这个问题时可能没有。

这种情况通常使用jumpbox服务器解决,您可以在其中使用公共 IP 进行连接,然后您会看到本地网络(可能带有本地 DNS 名称)。这需要使用,例如:

ssh -t jumpbox ssh anotherhost.localdomain
Run Code Online (Sandbox Code Playgroud)

但可以ProxyCommand在客户端配置中使用它来简化:

Host *.localdomain
  ProxyCommand ssh -W %h:%p jumpbox
Run Code Online (Sandbox Code Playgroud)

然后与远程节点的连接是透明的。当你输入

ssh anotherhost.localdomain
Run Code Online (Sandbox Code Playgroud)

它将通过jumpbox.