Wer einen Homeserver betreibt und diesen gerne von unterwegs über SSH erreichen will, kann sich entweder mit wechselnden IP Adressen und Port Forwarding herumschlagen, oder aber einfach einen Tor Hidden Service aufsetzen
Ich setze voraus, dass du bereits SSH eingerichtet hast und der Zugriff im lokalen (Heim)Netzwerk ohne Probleme funktioniert. Falls nicht, wäre hier eine passende Anleitung dafür: SSH › Wiki › ubuntuusers.de
Schritt 1: ufw konfigurieren
Weil SSH nach dem Tutorial öffentlich über die Tor Adresse erreichbar ist, bietet es sich an die Firewall so zu konfigurieren, dass Anmeldeversuche limitiert werden. Dazu einfach die folgenden Befehle verwenden:
ufw enable
ufw limit 22
Schritt 2: Tor installieren
sudo apt install tor
Schritt 3: Tor konfigurieren
Nun muss die Datei /etc/tor/torrc
mit dem Editor deiner Wahl angepasst werden (ich nutze nano)
Im Abschnitt
############### This section is just for location-hidden services ###
muss folgender Inhalt eingefügt werden:
HiddenServiceDir /var/lib/tor/ssh/
HiddenServicePort 22 127.0.0.1:22
Anschließend Tor mit sudo service tor restart
neustarten.
Schritt 4: Tor Adresse auslesen
Nach dem Neustart von Tor werden automatisch alle benötigten Schlüssel und Dateien in dem /var/lib/tor/ssh/
Verzeichnis angelegt. Um von außen auf den SHH Server zuzugreifen brauchen wir nur noch die .onion
Tor Adresse. Diese erhalten wir aus dieser Datei:
sudo cat /var/lib/tor/ssh/hostname
foobarvkiwibfiwucd6vxijskbhpjdyajmzeor4mc4i7yopvpo4p7cyd.onion
Schritt 5: Verbinden von anderem Computer
Auf dem Computer, von dem du die SSH Verbindung aufbauen willst, muss dann natürlich auch Tor installiert sein. Läuft das und ist verbunden, kannst du nun mit dem Befehl:
ssh -o ProxyCommand="ncat --proxy-type socks5 --proxy 127.0.0.1:9050 %h %p" sshuser@foobarvkiwibfiwucd6vxijskbhpjdyajmzeor4mc4i7yopvpo4p7cyd.onion
eine Verbindung aufbauen