从内部网络使用域名进行 SSH

从内部网络使用域名进行 SSH

我有一台运行 Ubuntu 18.04 的家庭服务器,它托管一些私人服务。为了从外部世界进行访问,我有一个通过路由器指向家庭服务器的域。这样我就可以从任何地方访问 Web 服务以及 SSH,这很正常。

当我在家时,我想使用相同的域地址登录我的服务器。对于 Web 服务,这是可行的。但是,我无法使用该域从我的内部网络通过 SSH 登录。我收到以下消息:

ssh: connect to host xyz.abc.com port 22: Connection refused

在内部网络中,如果我使用服务器的内部 IP 地址,我只能使用 SSH 连接。

我是否必须在某处为 SSH 设置特殊配置才能使其正常工作?

答案1

有几种方法可以进行配置。

  1. 为您的内部域配备一个 DNS 服务器,该服务器为您的域中的主机提供内部地址,并将对其他域的请求转发到您的 ISP 的名称服务器。这个答案可能有点过分,但这是一种相对简单的方法,可以适用于您的整个家庭网络。例如,LAN 的 DNS 服务器

  2. 在互联网上设置一个堡垒主机,这些请求必须通过该主机。配置其防火墙以将该特定地址端口转发到为该地址提供服务的内部主机。

  3. 将处理该流量的服务器配置为堡垒主机。配置其中一个接口以侦听该特定地址。

  4. 在您的内部系统上配置您的主机文件以了解域的内部 IP 地址。

  5. 在内部机器上配置 .ssh/config 文件,以便将主机名作为内部网络上的地址。每个 DNS 域的 ssh 配置

这些选项中的每一个可能都是 Stack Exchange 上某个地方已经回答过的问题,最有可能是这里或超级用户,但 Stack Overflow 也是一种可能性。诚然,有很多类似的问题需要筛选。

相关内容