問題陳述:如何透過 VPN/隧道等安全網路透過 SSH 連接到我的 Digital Ocean Cloud VPS?
詳細背景:
1.我的伺服器:CentOS 7 Droplet,在 eth0 上有公用 IP,在 eth1 上有私有 IP
2.SSH 客戶端(透過 SSH 金鑰):Windows 7 或 VirtualBox CentOS 7 虛擬機器上的 MobaXterm
情況? 每次我重新啟動路由器或根據其 DHCP 策略(以第一個出現者為準)
如何設定一個機制來連接到在我的 VPS 防火牆中永久列入白名單的 IP 或 FQDN (類似於 AWS 安全群組)然後啟動 SSH 會話而不設定第二個 Linux VPS 只是為了 VPN 目的?下面的流程應該會讓它變得更清晰:
SSH Clients from my PC(_Random Src IPs_) --> VPN / Tunnel (_1+ IPs white-listed in VPS Firewall_) -->[SSH] --> VPS
不可能的選項
- 同一 VPS 上的 VPN 伺服器(成為單點故障)
- 第二個 Linux VPS 設定如下跳箱|堡壘主機由於第一個 VPS 不是生產級伺服器,加上維護 2 個 VPS 對我來說在經濟上不可行。
可能的選擇
- 可靠的 VPN 服務,免費供個人使用。
- SSH 隧道或任何其他替代方案。
如果需要更多背景信息,請告訴我並指導我實現這一目標的理想方法。
答案1
為此,請將 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 作為 ProxyCommand。