Server über Tor erreichen mit SSH und Torsocks
Um einen Server via SSH über das Tor Netzwerk zu erreichen, ohne Portforwarding nutzen zu können, musst du eine Kombination aus Tor, Torsocks, SSH und einem sogenannten "Hidden Service" verwenden. Diese Anleitung soll euch durch den Prozess, die Konfiguration und die Verbindung führen.
Voraussetzungen
- Server: Auf dem Server sollte Tor installiert sein.
- Client: Auf deinem lokalen Rechner muss Tor und torsocks installiert sein, ebenso wie ein SSH-Client.
Installation und Einrichtung von Tor auf dem Server
Zunächst müsst ihr sicherstellen, dass Tor auf eurem Server installiert ist. Die Installation unterscheidet sich je nach Betriebssystem.
Für Debian/Ubuntu-basierte Systeme:
sudo apt-get update
sudo apt-get install tor
Für CentOS/RHEL-basierte Systeme:
sudo yum install epel-release
sudo yum install tor
Tor konfigurieren, um einen Hidden Service einzurichten
Nachdem Tor installiert ist, müsst ihr es so konfigurieren, dass es einen Hidden Service für SSH anbietet.
- Tor-Konfigurationsdatei bearbeiten: Die Konfigurationsdatei für Tor befindet sich normalerweise unter
/etc/tor/torrc
. Öffne die Datei in einem Texteditor eurer Wahl:
sudo nano /etc/tor/torrc
- Hidden Service einrichten: Füge folgende Zeilen am Ende der Datei hinzu:
HiddenServiceDir /var/lib/tor/hidden_service/
HiddenServicePort 22 127.0.0.1:22
Diese Konfiguration sorgt dafür, dass Tor einen Hidden Service erstellt, der Verbindungen auf Port 22 (SSH) annimmt und diese an den lokalen SSH-Server weiterleitet.
- Tor neu starten: Nachdem ihr die Datei gespeichert habt, müsst ihr den Tor-Dienst neu starten, damit die Änderungen wirksam werden:
sudo systemctl restart tor
Onion-Adresse herausfinden
Nach dem Neustart von Tor wird eine Onion-Adresse für euren SSH Hidden Service generiert. Diese Adresse findet ihr in der Datei /var/lib/tor/hidden_service/hostname
.
Um die Adresse anzuzeigen, führe folgenden Befehl aus:
cat /var/lib/tor/hidden_service/hostname
Ihr solltet eine Ausgabe erhalten, die in etwa so aussieht:
abcde12345.onion
SSH über Tor vom Client aus nutzen
Jetzt, wo der Hidden Service läuft und ihr die Onion-Adresse habt, könnt ihr von einem lokalen Rechner aus eine SSH-Verbindung herstellen.
- Tor auf dem Client starten: Stelle sicher, dass der Tor-Dienst auf deinem Client-Rechner läuft. Unter Linux könnt ihr Tor in der Regel mit folgendem Befehl installieren und starten:
sudo apt-get install tor torsocks
sudo systemctl start tor
sudo systemctl enable tor
- SSH über Tor verwenden: Um die SSH-Verbindung über Tor herzustellen, verwende den
torsocks
Befehl, der den SSH-Client durch das Tor-Netzwerk leitet:
torsocks ssh username@abcde12345.onion
Ersetzt username
durch euren Benutzernamen und abcde12345.onion
durch die zuvor ermittelte Onion-Adresse.
Sicherheitsüberlegungen
- Passwortauthentifizierung deaktivieren: Es wird empfohlen, die Passwortauthentifizierung auf dem SSH-Server zu deaktivieren und stattdessen nur SSH-Schlüssel zu verwenden, um die Sicherheit zu erhöhen. Wie ihr eine SSH Schlüssel Authentifizierung einrichtet, erfahrt ihr hier.
Troubleshooting
Falls die Verbindung nicht funktioniert, überprüft folgende Punkte:
- Läuft Tor auf dem Server und dem Client?
- Ist die SSH-Konfiguration korrekt?
- Hasbt ihr die richtige Onion-Adresse verwendet?
- Kann der SSH-Dienst auf dem Server tatsächlich auf Port 22 angesprochen werden?
Zusammenfassung
Indem ihr einen Hidden Service für SSH auf eurem Server einrichtet, könnt ihr sicherstellen, dass euer Server über das Tor-Netzwerk erreichbar ist, ohne dass ihr auf Portforwarding angewiesen seid. Dies bietet auch zusätzliche Sicherheit, da dein Server im Tor-Netzwerk verborgen bleibt und nur über die spezielle Onion-Adresse erreichbar ist.