Aber sicher!
SSH, SCP und SFTP
Schlüssel für den Agenten
Nachdem Sie den Agent auf die eine oder andere Weise gestartet haben, machen Sie ihn mit den privaten Schlüsseln bekannt. Dabei hilft das Programm ssh-add. Rufen Sie das Tool entweder ohne weitere Parameter auf (dann sucht es selbstständig im Verzeichnis ~/.ssh nach privaten Schlüsseln und fordert für jede Identität das Kennwort an), oder geben Sie ihm gezielt eine Schlüsseldatei mit auf den Weg:
$ ssh-add ~/.ssh/id_dsa
Anschließend geben Sie das dazugehörige Passwort ein, und der Agent meldet den Erfolg (Listing 2).
Enter passphrase for /home/petronella/.ssh/id_dsa: Identity added: /home/petronella/.ssh/id_dsa (/home/petronella/.ssh/id_dsa)
Eine zusätzliche Sicherheitsmaßnahme kommt auch hier in Form der Option -t. Wie beim Start von ssh-agent selbst legen Sie mit diesem Parameter fest, wie lange der Agent den Schlüssel aufbewahren soll. Der Befehl in Zeile 1 von Listing 3 stellt den Timer auf zehn Minuten. Mit der Option -l listen Sie die privaten Schlüssel auf, die der Agent verwaltet (Zeile 5).
Als Ausgabe sehen Sie die Größe (1024 Bit) und den Fingerabdruck des soeben geladenen Schlüssels. Ab sofort können Sie aus dieser Shell (und aus weiteren Sitzungen, in denen Sie die beiden Umgebungsvariablen $SSH_AUTH_SOCK und $SSH_AGENT_PID gesetzt haben) SSH-Sitzungen starten und sich ohne Eingabe des Passworts an den Zielrechnern anmelden. Über die -d und Angabe der Schlüsseldatei entfernen Sie einen Schlüssel (Listing 3, Zeile 7). Um in einem Rutsch alle Identitäten loszuwerden, geben Sie hingegen die Option -D an.
$ ssh-add -t 10m ~/.ssh/id_dsa Enter passphrase for /home/petronella/.ssh/id_dsa: Identity added: /home/petronella/.ssh/id_dsa (/home/petronella/.ssh/id_dsa) Lifetime set to 600 seconds $ ssh-add -l 1024 f3:c9:b6:5d:23:3a:9d:61:50:19:63:3c:e8:22:7c:86 /home/petronella/.ssh/id_dsa (DSA) $ ssh-add -d /home/petronella/.ssh/id_dsa Identity removed: /home/petronella/.ssh/id_dsa (/home/petronella/.ssh/id_dsa.pub)
Licht am Ende des Tunnels
Der Vorgängerartikel [2] erklärt, welche Schritte nötig sind, um mit SSH X11-Verbindungen zu tunneln. Aber SSH kann noch mehr: Die Secure Shell bietet eine Möglichkeit, auch andere Internetdienste über so genannte Tunnel gegen Lauschangriffe abzusichern. Das Weiterleiten von TCP/IP-Verbindungen zu einer entfernten Maschine über ein verschlüsseltes Protokoll ist sinnvoll, wenn Sie ein ansonsten unverschlüsseltes Protokoll (etwa POP3) sichern wollen. Der Artikel unter [4] zeigt beispielhaft, wie Sie mit fetchmail über einen SSH-Tunnel verschlüsselt Mail von einem POP-Server abholen. Voraussetzung für diesen Einsatz ist ein Shell-Account auf dem Server. Zum Einsatz kommt der SSH-Parameter -L, der eine verschlüsselte "Pipeline" legt. (Genau genommen handelt es sich hier um Port-Forwarding, eine Spezialform des Tunnelings, die einen einzigen Port weiterleitet.)
Eine andere elegante Möglichkeit stellt der Einsatz von SSH als SOCKS-Proxy dar, um beispielsweise mit einem Webbrowser verschlüsselt Daten zu übertragen. Der Aufbau eines Tunnels zu einem Proxy bietet noch einen weiteren Vorteil: Die Methode umgeht die Zensur von Webinhalten, was nützlich sein kann, wenn Sie sich in einem Land aufhalten, das bestimmte Webseiten blockiert. Besitzen Sie einen Shell-Account auf einem Rechner, der in einem weniger restriktiven Land steht, führt diese Methode zu uneingeschränktem Surfgenuss.
Zunächst aktivieren Sie den Proxy über die SSH-Option -D und übergeben dieser zusätzlich eine frei wählbare Port-Nummer. Außerdem erweisen sich die beiden Parameter -f und -N in diesem Szenario als nützlich: Die erste schiebt ssh nach der Anmeldung und vor dem Ausführen von Kommandos in den Hintergrund, die zweite teilt ssh mit, dass kein Kommando folgt, zum Beispiel:
$ ssh -fN -D 1080 Proxy
Nach der Eingabe des Passwortes erscheint wieder der Prompt und die Shell ist bereit, weitere Befehle entgegen zu nehmen. Das wars schon – der SOCKS-Proxy wartet auf seinen Einsatz.
Als Nächstes richten Sie den SSH-Client als SOCKS-Proxy in die Netzwerkkonfiguration des gewünschten Programms ein. Für den Webbrowser Firefox nehmen Sie die Einstellung beispielsweise über Bearbeiten | Einstellungen im Bereich Allgemein | Netzwerk vor. Klicken Sie im Bereich Verbindung auf Einstellungen, aktivieren Sie die manuelle Proxy-Konfiguration, geben Sie ins Feld SOCKS-Host die IP-Adresse 127.0.0.1 und den vorher gewählten Port ein. Als SOCKS-Versionen stehen sowohl 4 als auch 5 zur Verfügung; schauen Sie im Zweifelsfall in der Manpage zu ssh nach, welche Version Ihre SSH-Installation unterstützt.
Nach der Bestätigung in Firefox geben Sie zum Testen in die Adresszeile des Browsers http://www.myipaddress.com/ ein – Sie sollten nun die IP des entfernten Rechners sehen.



