Homeserver SSH Zugriff über Tor Hidden Service

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 :slight_smile:

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: https://wiki.ubuntuusers.de/SSH/#Der-SSH-Server

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 :slight_smile:

5 Like

1A Basti! :+1:

1 Like