设置服务器以使用 SSH 通过互联网连接(Ubuntu 14.04)

设置服务器以使用 SSH 通过互联网连接(Ubuntu 14.04)

我正在尝试设置一个本地服务器,以便从本地网络外部进行访问。我对这个概念还不熟悉,不太确定该怎么做。

目前我使用以下方式访问计算机:。ssh [email protected]

我想将该服务器设置为可从本地网络外部访问。

我一直在阅读有关网络的资料,包括 TCP/IP 和 IP 地址等,但我发现自己不确定如何真正实现它。

我使用的是 Ubuntu 14.04 LTS,有一个公共 IP。路由器后面有一个由 4 台 Windows 计算机和一台运行 MySQL 服务器的 Linux 服务器组成的 LAN 网络。

答案1

要通过互联网使用 SSH 连接到您的服务器:

  1. 在您的计算机上:您需要在防火墙中打开端口 22。
  2. 在路由器上:您需要将端口 22 转发给您192.168.X.X。请注意,出于安全原因,您可以在路由器上打开非标准端口(例如 500),然后将其转发到计算机上的端口 22。然后,您将 SSH 连接到端口 500,而您的计算机将监听标准端口 22。
  3. 通过以下方式查找路由器的外部 IP 地址: http://whatismyipaddress.com/
  4. 如果你的外部 IP 地址不是静态的(这取决于你的 ISP),你需要为路由器指定一个 DNS 名称。你需要获得一个帐户动态 DNS供应商你的路由器支持,这样路由器每次启动时都会自动向供应商更新其 IP 地址。然后,您将使用 DNS 名称连接到计算机,其格式取决于供应商,例如your-name.ddns.net。如果路由器不支持 DNS 供应商,则您需要在每次启动时手动更新它,或者设置dd客户端

通过 Google 可以找到更多信息。例如文章:
动态 DNS 和远程 ssh 和 VNC

答案2

为了得到更具体的答案,我们需要知道您的路由器型号。由于您可以在本地局域网上访问 ssh 服务器,因此如果您以正确的方式配置路由器,则可以通过互联网访问它。

该功能在不同的路由器上的名称不同,但基本上你需要配置防火墙以允许从你的公共 IP 到端口 22 的连接,然后将流量转发到你的本地服务器。这可以称为 DNAT 或端口转发,在某些路由器上会自动创建防火墙规则。

作为侧节点,考虑安装失败2ban用于您的 ssh-deamon。您的服务器将被探测访问,使用 fail2ban 可以限制此活动。

相关内容