连接到 VPN 后面的 SSH 服务器

连接到 VPN 后面的 SSH 服务器

我对 Linux 还很陌生。

我家里有一台装有 Ubuntu 的 PC,使用 OpenVPN 连接到 VPN。

我希望能够使用我的路由器 IP 地址从我的网络外部通过 SSH 连接到它,也许还能够访问它上面的 ftp。

我该怎么做?

这是否会打开我的 VPN 连接,使其不再安全?

感谢您的帮助。

答案1

是的,您可以从家庭网络之外连接到您的 Ubuntu PC,即使您的 Ubuntu PC 已连接到 OpenVPN 连接 - 仅当您位于 NAT 路由器后面时(我假设您位于 NAT 路由器后面,因为现在几乎没有人直接连接到互联网)。

当您启动 OpenVPN 连接时,会创建一个虚拟“网络接口”(可能称为 tun0)。此接口将拥有自己的 IP 地址(可能类似于 10.xxx),并且 OpenVPN 客户端足够智能,可以设置“路由规则”(即哪些流量通过哪个接口发送),以便本地流量不会通过 VPN 隧道发送。

我该怎么做?

  1. 登录您的家庭路由器。
  2. 设置端口转发规则,将端口 x 上的流量引导至 Ubuntu PC 上的端口 22。

简而言之,这就是全部。大多数家用路由器都具有“端口转发”功能。对于路由器上的“外部”端口,我建议使用除默认端口(TCP 端口 22)以外的其他端口。例如,您可以设置端口转发规则,如:“将外部 TCP 端口 9922 上的传入流量转发到内部 TCP 端口 22”。一旦您在互联网上打开 TCP 端口 22,就会有很多人来敲门 :)。仅仅更改端口本身并不是“强化” - 您还应该配置 SSH 服务器以使用密钥身份验证并完全禁用密码。

我无法为您提供更多详细信息,因为所有家用路由器(及其接口)都不同。您必须了解如何在特定路由器上设置端口转发。以下是不同路由器的端口转发界面的截图。无论使用哪种接口,概念都是相同的:输入外部端口(或在某些情况下为“端口范围”)以及目标 IP 地址和端口。从路由器的角度来看,可以用简单的英语来理解:“...当我在 TCP 端口 9922 上收到外部流量时,转发到 TCP 端口 22 到本地计算机 192.168.0.2...”(假设您已设置 TCP 端口 9922 以转发到您的 Ubuntu 机器,该机器的 IP 地址为 192.168.0.2,SSH 服务器在 TCP 端口 22 上监听)。

如果您将 SSH 服务器暴露给外界,则应尽可能加强其安全性。如上所述,一个快速有效的方法是完全禁用密码验证并启用公钥验证。

这是否会打开我的 VPN 连接,使其不再安全?

不知道该如何回答这个问题。首先,你应该假设你只是因为连接到了 VPN 就“安全”了。我见过一些 VPN 提供商将其用户的所有开放端口(服务)暴露给同一 VPN 子网上的所有人。例如,VPN-User-A 可以访问 VPN-User-B 的未受密码保护的 Samba 共享。你有责任确保你的计算机/设备的安全得到加强(尽你所能)。

...使用我的路由器 IP 地址从我的网络外部进行 SSH,也许还可以访问路由器上的 ftp

如果您安装并向外界开放 FTP,那么您肯定不会“安全”。最好将“开放端口占用空间”保持在尽可能小的水平。您可以通过 SSH 做几乎任何事情。例如,SSH 有一个名为“SFTP”的“子系统”。要查看它的实际效果,您可以打开文件管理器并在地址栏中输入:

sftp://123.123.123.123:9922

(假设您的 SSH 服务器正在监听 IP 地址 123.123.123.123,端口 9922)。当然,问题是并非所有操作系统/设备都安装了合适的 SSH 客户端。

相关内容