SSH
Aus Freifunk Hannover
Inhaltsverzeichnis |
Einleitung
Secure shell auch SSH genannt ist eine Protokoll sowie ein Programmsuite zum sicheren Fernzugriff unter Linux/BSD/*nix. Mit dem Programm PuTTY steht ein sehr guter Windows-SSH Client zur Verfügung.
Da das OLSR-Netzwerk ohne Verschlüsselung arbeitet, sollte man seine Zugangsdaten zum Router schützen (sofern man sich via OLSR zum Router verbindet, ist das ein Muss). Mit SSH gibt es die Möglichkeit des passwortlosen Logins und die Verwendung von SSH als Tunnelbauer.
Schlüsselpaar
SSH bietet die Möglichkeit mit einem Schlüsselpaar anstatt eines Kennworts zu arbeiten. Dieses Paar besteht aus einem öffentlichen und einen privaten Schlüssel (engl. Key). Beide sind von einander magisch abhängig. Was mit einem der Schlüssel verschlüsselt wird, kann nur durch den anderen wieder entschlüsselt werden. Dadurch ist es möglich, den einen Teil des Schlüssels weiterzugeben (den Publickey), um Verbindungen zu verschlüsseln, die einzig mit dem anderen Schlüssel (dem sogenannten Secretkey), welchen man nie weitergibt, entschlüsselt werden kann.
Erzeugen eines Schlüsselpaars
Mit dem Programm puttygen.exe erstellt man ein Schlüsselpaar. Dazu
das Programm starten und ein wenig die Maus wirbel lassen, um Zufallswerte für den Schlüssel zu generieren. Speichert den privaten Teil als z.B. Secret.ppk.
Public Key als authorized_keys sichern
Wichtig hierbei ist, das man sich auch gleich den öffentlichen Schlüssel im OpenSSH Format speichert. Dazu den Inhalt des Feldes Public key for pasting into OpenSSH authorized_keys file: markiern und im notepad speichern als authorized_keys. Diese Datei brauchen wir später noch.
Hinterlegen des öffentlichen Schlüssels auf dem Router
Der öffentliche Schlüssel gehört dann ins Verzeichnis /etc/dropbear/ und muss mit dem Dateinamen authorized_keys gespeichert werden. Es gibt verschiedene Möglichkeiten die Datei dort hochzuladen. Endweder mit WinSCP oder mit psftp.exe
psftp.exe aufrufen und dann:
psftp: no hostname specified; use "open host.name" to connect psftp> open root@<routerip> 22 psftp> cd /etc/dropbear psftp> put authorized_keys
Anmelden ohne Kennwort
Wer sofort ausprobieren möchte wie das mit den Keyfiles funktioniert kann unter Connection > SSH > Auth den Private key in Putty hinterlegen. Die Einstellungen unter Session > Dein Sessionname speichern und los geht es.
Jetzt wird man beim Login nach der Passphrase für den private Schlüssel gefragt.
Das ist immer noch nicht bequem genug, dann schau Dir den Abschnitt 'ssh-agent ' an.
SSH-Agent - Den Privatekey immer parat
Mit dem SSH-Agent hat man einen großen Komfortgewinn bei hoher Sicherheit. Das Programm ist nach dem Start im Systray neben der Uhr zu finden. Mittels rechtsclick auf dem Icon kann den Menüpunkt Add Key aufrufen und einen Schlüssel hinzufügen.
Ganz Geschickte erstellen eine Programmverknüpfung und geben den Pfad zum Secretkey an. Nun wird man nach der Passphrase gefragt. Sobald diese Hürde genommen ist, erfolgt die Anmeldung zum Router automatisch durch den Schlüssel der im SSH-Agent enthalten ist.
Tunnel dir einen
Mit Putty bzw SSH kann man verschlüsselte Tunnel aufbauen. Das können wir dazu nutzen um zum Router eine gesicherte Verbindung aufzubauen. Hierbei in der Putty Configuration > Connection > SSH > Tunnels anwählen.
Source port 8888 Destination localhost:80
Um einen Tunnel von dem Clientrechner:8888 zum Router:80 aufzubauen. Wenn nun die SSH Verbindung zum Router steht, kann man http://localhost:8888 aufrufen und sich in der Verwaltung des Routers anmelden.

