SSH-Tunnel für den 27C3 und andere Gelegenheiten

Zunächst braucht man einen Server, zu dem man sich per SSH verbinden kann. Ich habe einen solchen Server. Zur authentifizierung benutze ich Public/Private-Keys, aber das geht auch ohne.

Zunächst baue ich die Verbindung zum SSH-Server auf:

Colossus: ~saschakaupp$ ssh -D 3128 -fCqN saschakaupp@foto23.com
Ohne Keyfiles würde nun nach dem Passwort gefragt. Ich habe hier vorgesorgt und muss kein Kennwort eingeben. Die Verbindung zum Server wird aufgebaut und auf Port 3128 ist nun ein SOCKS-Proxy erstellt.

In den Systemeinstellungen kann ich nun den Proxy für alle Netzwerkverbindungen eintragen. Dazu öffne ich die Einstellungen für das Netzwerk, wähle das aktive Interface aus und klicke auf „Weitere Optionen“. Dort trage ich auf dem Reiter „Proxies“ einen SOCKS-Proxy mit den Daten localhost und Port 3128 ein.

Alle neuen Netzwerkverbindungen werden nun über den SSH-Tunnel nach draußen geleitet und bleiben so vor Neugierigen blicken geschützt.

Den obigen Aufruf kann man auch in ein Shellscript kippen, welches man unter Startobjekte ablegt. Das wird dann automatisch bei jedem Login ausgeführt und die SSH-Verbindung steht sofort, sofern eine Internetverbindung verfügbar ist.

Das Script sieht so aus:

#!/bin/bashssh -D 3128 -fCqN saschakaupp@foto23.com
Nachdem man das Script angelegt hat, muss man es über chmod +x ausführbar machen. Nun geht man zurück zu den Einstellungen, wählt Benutzer aus und klickt auf den eigenen Account. Auf dem Reiter „Anmeldeobjekte“ sieht man, was gestartet wird, sobald man sich einloggt. Hier einfach das Shellscript reinziehen - und fertig.

Nun kommunizieren die meisten Anwendungen über den SSH-Tunnel. Letzendlich bleibt aber nur, in den Programmeinstellungen nachzusehen, ob man die Verbindung nach außen konfigurieren kann; Ist dies der Fall, wie z.B. beim Firefox, muss man explizit sagen, dass ein SOCKS-Proxy genutzt werden soll.