总结:在更广泛的背景下,我只需要一种方法来连接到多个服务器,这些服务器都在同一网络上运行相同的服务,而无需拥有多个外部 IP 地址或不必为同一服务在每台服务器上转发不同的端口。
更详细的解释:我的网络上有 3 台服务器,我想通过 ssh 远程访问每台服务器。以下是端口和地址当前的样子:
Internal IP: Port:
192.168.1.100 22 (ssh)
192.168.1.101 23 (ssh)
192.168.1.102 24 (ssh)
假设我的网络的外部 IP 是 161.86.232.865 并且所有上述端口都被转发并且对外部网络可见。是否可以为这些端口中的每一个提供一个子域并能够使用它们的子域 ssh 进入它们?例如,192.168.1.100 将是 ssh-100.example.com,192.168.1.101 将是 ssh-101.example.com,依此类推。我知道这(据我所知)不可能与内部 IP 而不是端口有关,所以我想我会问。
如果你知道什么,请分享。谢谢!
目前这是不可能的。SSH 目前不支持srv 记录。有一些提议的补丁可以这样做,但它们不是主流存储库的一部分。(您也许可以将sshsrv别名为 ssh。)。
大概您正在寻找比
Port
在 local中指定更便携的东西~/.ssh/config
,这可能适用于任何共享相同配置的东西。ssh -J <jumphost>
如果您不介意将一台主机作为您的堡垒,那么它也可以工作(无论如何,这可能不是一个坏主意)。