Problemstellung:Wie stelle ich über ein sicheres Netzwerk wie ein VPN/Tunneling per SSH eine Verbindung zu meinem Digital Ocean Cloud VPS her?
Detaillierter Kontext:
1.Mein Server:ein CentOS 7-Droplet mit einer öffentlichen IP auf eth0 und einer privaten IP auf eth1
2.SSH-Clients (über SSH-Schlüssel):MobaXterm unter Windows 7 ODER VirtualBox CentOS 7 VM
Situation? Die öffentliche WAN-IP-Adresse meines Heimcomputers ändert sich jedes Mal, wenn ich meinen Router neu starte oder basierend auf der DHCP-Richtlinie (je nachdem, was zuerst eintritt)
Wie richte ich einen Mechanismus ein, bei dem ich mich mit einer IP oder einem FQDN verbinde, der in der Firewall meines VPS dauerhaft auf der Whitelist steht (etwas Ähnliches wie AWS-Sicherheitsgruppen), bevor Sie anschließend eine SSH-Sitzung starten, ohne einen zweiten Linux-VPS nur für VPN-Zwecke einzurichten? Der folgende Ablauf sollte es einigermaßen klarer machen:
SSH Clients from my PC(_Random Src IPs_) --> VPN / Tunnel (_1+ IPs white-listed in VPS Firewall_) -->[SSH] --> VPS
Optionen NICHT möglich
- VPN-Server auf demselben VPS (wird zu einem einzigen Ausfallpunkt)
- Ein zweites Linux VPS-Setup wie einBastion-Hostda der 1. VPS kein Produktionsserver ist und die Wartung von 2 VPS für mich wirtschaftlich nicht machbar ist.
Mögliche Optionen
- Ein zuverlässiger VPN-Dienst, der für den persönlichen Gebrauch kostenlos ist.
- SSH-Tunneling oder eine andere Alternative.
Bitte lassen Sie mich wissen, ob weiterer Kontext benötigt wird, und zeigen Sie mir, wie ich dies am besten erreichen kann.
Antwort1
Sie könntenTunneln Sie Ihre SSH-Verbindung durch Tor.
Konfigurieren Sie dazu den SSH-Server so, dass er nur auf dem lokalen Host lauscht, und geben Sie Folgendes ein /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.
Starten Sie Tor dann neu. Ihr Onion-Hostname wird generiert und kann in gefunden werden /var/lib/tor/ssh_hidden_service/hostname
.
Konfigurieren Sie Ihren SSH-Client für die Verwendung von Torindem Sie etwa Folgendes einfügen ~/.ssh/config
:
Host mydomain
HostName mydomain.com
CheckHostIP no
ProxyCommand connect-proxy -4 -S localhost:9050 $(tor-resolve %h localhost:9050) %p
Sie müssen das Paket connect-proxy installieren. Oder Sie verwendennetcat als ProxyCommand.