![如何在没有静态 IP 的情况下 SSH 到受防火墙保护的服务器?](https://linux22.com/image/632884/%E5%A6%82%E4%BD%95%E5%9C%A8%E6%B2%A1%E6%9C%89%E9%9D%99%E6%80%81%20IP%20%E7%9A%84%E6%83%85%E5%86%B5%E4%B8%8B%20SSH%20%E5%88%B0%E5%8F%97%E9%98%B2%E7%81%AB%E5%A2%99%E4%BF%9D%E6%8A%A4%E7%9A%84%E6%9C%8D%E5%8A%A1%E5%99%A8%EF%BC%9F.png)
我需要通过 SSH 连接到具有 IP 白名单作为访问控制一部分的客户端服务器。我没有静态 IP - 有时我在家工作,有时在图书馆,有时在咖啡店等。我如何获取静态 IP?如果我正在度假,而远程同事必须连接到白名单服务器,他们将如何进入(假设他们有凭据)?
这是否需要设置并通过 VPN 或代理服务器进行连接?
我正在寻找解决方案和其工作原理的解释。
更详细一点:这里似乎有几个选项,也许这就是我感到困惑的地方。
- 设置并连接到 VPN,然后我的 ssh 请求将通过那里路由。服务器将把我的 IP 视为 VPN 网关的 IP(这是正确的术语吗?)
- 设置一个服务器,然后通过 ssh 进入该服务器,再从那里通过 ssh 进入终端服务器。这并不理想,因为我必须将文件移动到中间服务器,然后再移动到主服务器。
- 设置服务器,并使用端口转发作为通路。
我不清楚的是这些方法的优缺点。网上搜索没有解释这一点,所以我在这里问。不仅寻求解决方案,也寻求解释。
答案1
如果我没看错的话,你想要一个静态 IP 地址,无论你去哪里它都会跟着你。如果这是正确的,那么答案就是你不能直接这样做。
您可以做的一件事是让您的远程服务器也充当 VPN 服务器。然后您可以在它和您的工作站之间创建 VPN,并通过列入白名单的 VPN IP 地址进行连接。
如何设置 VPN 在某种程度上取决于所涉及的操作系统(您没有提到),并且对于本问答网站的范围来说太大了。不过,关于这个主题有很多很好的教程。
答案2
Amazon EC2 为您提供 5弹性 IP 地址。您还可以从虚拟专用服务器 (VPS) 连接,您只需每月花几美元就可以从 Digital Ocean 购买一台,它将拥有一个静态 IP 地址。您可以从任何地方通过 SSH 进入这些服务器,然后连接到您的客户端服务器。
答案3
你可以做SSH 端口隧道。
要实现这一点,您需要一台始终连接到互联网的机器。希望这台机器始终具有相同的 IP 地址(因为它将始终更新其 IP 租约),但如果有时这台机器无法响应您的请求,您可以向 ISP 索取一个静态 IP(需额外付费)。这台机器实际上将充当您的代理。这台机器可能是您的家用电脑。您可以将任何闲置的 Pentium 机器重新用于此用途。
在此“代理”机器上,您可以使用 PuTTY 设置 SSH 端口隧道,方法是将所有请求转发到端口,例如将 50505 转发到“客户端服务器”上的端口 22。请看:
。复选框很重要,需要选中。
接受任何需要完成的防火墙更改:
然后,当您不在“始终在线”的计算机旁(例如在图书馆中)时,您将启动其 SSH 客户端并连接到“始终在线”的计算机,但连接到端口 50505。然后,您将使用“客户端服务器”计算机的凭据,并且您将被显示为您实际上就是那台计算机。
由于我对这些问题还很陌生,我希望我在这里没有犯任何错误,但我认为你可以采用这个解决方案。
答案4
静态 IP 由拥有该 IP 范围的组织(在本例中为 ISP)分配给特定的互联网连接。您可以将静态 IP 添加到家庭互联网连接,远程连接到那里的计算机(SSH、RDP 或您喜欢的任何方式),然后通过 SSH 连接到客户端服务器。