通过 VPN 连接到云 VPS

通过 VPN 连接到云 VPS

问题陈述:如何通过安全网络(例如 VPN/隧道)使用 SSH 连接到我的 Digital Ocean Cloud VPS?

详细背景:
1.我的服务器:一个 CentOS 7 Droplet,在 eth0 上有公共 IP,在 eth1 上有私有 IP
2。SSH 客户端 (通过 SSH 密钥):Windows 7 或 VirtualBox CentOS 7 VM 上的 MobaXterm

情况? 我家用电脑的公共 WAN IP 地址每次我重启路由器时都会发生变化,或者根据其 DHCP 策略发生变化(以先到者为准

如何设置一种机制,让我能够连接到 VPS 防火墙中永久列入白名单的 IP 或 FQDN(类似于 AWS 安全组) 然后启动 SSH 会话,而无需为 VPN 目的设置第二个 Linux VPS?下面的流程应该会更清楚:

SSH Clients from my PC(_Random Src IPs_) --> VPN / Tunnel (_1+ IPs white-listed in VPS Firewall_) -->[SSH] --> VPS

选项不可能

  1. 同一 VPS 上的 VPN 服务器(成为单点故障
  2. 第二个 Linux VPS 设置如下Jumpbox | 堡垒主机因为第一个 VPS 不是生产级服务器,而且维护 2 个 VPS 对我来说在经济上不可行。

可能的选择

  1. 可靠的 VPN 服务,可供个人免费使用。
  2. SSH 隧道或任何其他替代方案。

是否需要更多背景信息,请告诉我,并指导我实现这一目标的理想方法。

答案1

你可以通过 Tor 建立 SSH 连接隧道

为此,将 SSH 服务器配置为仅监听本地主机,并将如下内容放入/etc/tor/torrc

HiddenServiceDir /var/lib/tor/ssh_hidden_service/
HiddenServicePort 22 127.0.0.1:22
HiddenServiceVersion 3 # If you're using tor 0.3.2 or above.

然后重启 Tor。你的洋葱主机名将会生成,你可以在 中找到/var/lib/tor/ssh_hidden_service/hostname

配置你的 SSH 客户端以使用 Tor将类似这样的内容放入~/.ssh/config

Host mydomain
    HostName mydomain.com
    CheckHostIP no
    ProxyCommand connect-proxy -4 -S localhost:9050 $(tor-resolve %h localhost:9050) %p

您需要安装 connect-proxy 软件包。或者您可以使用netcat 作为代理命令

相关内容