PuTTY

Client:
WindowsLinuxFreeBSD
Server:
DragonFlyBSDFreeBSDNetBSDOpenBSDLinuxOS_X

Viele Unix-Administratoren arbeiten nicht vom Unix-Desktop, sondern nutzen gewöhnliche Windows-Rechner als Konsole. Ein gängiger SSH-Client für Windows (Win95 bis Vista) ist PuTTY, ein freier SSH-Client von Simon Tatham. Dieser Artikel zeigt, wie man mit PuTTY verwendet, Verbindungen mittels Zertifikaten authentifiziert, Tunnel aufbaut und Verbindungen verwaltet.

PuTTY downloaden und installieren

PuTTY-Verzeichnis Die Software findet man auf der Homepage des Autors Simon Tatham in mehreren Versionen; eventuell ist die Liste der Mirrors hilfreich.

Die Installation muss unter Win32-Umgebungen mit Administratorrechten ausgeführt werden; die Zip-Dateien können einfach in ein beliebiges Verzeichnis ausgepackt werden. Im PuTTY-Verzeichnis findet man eine ganze Reihe von Programmen:

Programm OpenSSH-Äquivalent Beschreibung
Pageant ssh-agent Keyring-Verwaltung, Einstellungen, User Interface
Plink ssh Kommandozeilen-Client, z.B. für Batch-Dateien
pscp scp Kommandozeilen-scp-Client
psftp sftp Kommandozeilen-sftp-Client
putty ssh Terminal-Emulator und ssh-Client mit GUI
puttygen ssh-genkey Schlüsselgenerator

PuTTY einrichten

New Connection Beim ersten Start von PuTTY erscheint eine Dialogbox, mit der man sich zu SSH-Servern verbinden kann. Am linken Rand des Fensters findet man die Navigation durch die Einstllungs-Kategorien, oben die Eingabefelder für Hostname und -Port, darunter gespeicherte Verbindungen. Die erste dieser Verbindungen zeigt auf keinen bestimmten Host, sondern speichert die Default-Einstellungen.

Terminal einrichten

Bevor man die erste Session öffnet, richtet man das Terminal ein. In der Kategorie Window vergrößert man Bildschirmfläche z.B. auf 123 Zeichen in 40 Zeilen und den Scrollback-Puffer. In Window→Appearance wählt man einen Zeichensatz nach Geschmack. In Window→Selection kann man die Funktion der mittleren und rechten Maustaste anpassen, im Abschnitt Window→Colors die Farben. Wenn man sich auf allen Servern mit demselben Nutzernamen anmeldet, setzt man diesen bereits jetzt im Abschnitt Connection→Data. Ebenfalls in diesem Abschnitt kann man den Terminal-type string auf „xterm-color“ setzen. Nachdem man alle Einstellungen angepasst hat, wechselt man in den ersten Abschnitt Session, wählt Default→Settings aus der Liste der gespeicherten Sessions und drückt auf Save, um die geänderten Default-Einstellungen zu speichern – andernfalls würden diese nur bis zum Programmende gelten.

Verbindung aufbauen

Connection Angemeldet Im der Kategorie Session ergänzt man Hostname oder IP-Adresse, Protokoll und Port (die Standard-Ports werden automatisch ausgefüllt). Um eine ssh-Verbindung zu öffnen, wählt man SSH, Port 22. Ein Klick auf Open startet die Session mit den gewählten Parametern.

Save Session Nachdem die Session gestartet ist, öffnet man den Konfigurations-Dialog mit Rechtsklick auf die Titelleiste des Fensters → Change Settings. Hier kann man die laufende Session nochmals anpassen. Sobald man mit den aktuellen Einstellungen zufrieden ist, öffnet man im Konfigurationsdialog die Kategorie Session.

Hier gibt man in der oberen Zeile einen sinnvollen Namen ein, z.B. mein.rechner.org. Mit Save werden die aktuellen Einstellungen dauerhaft gespeichert.

Schlüsselpaare erstellen

Zum Erstellen von Schlüsselpaaren verwendet man das Programm PuTTYgen. PuTTYgen kann aber auch Schlüssel im OpenSSH-Format im- und exportieren. Nach dem Programmstart wählt man zunächst eines der beiden SSH2-Schlüsselformate aus und drückt auf Generate. Nun muss man die Maus in der Fenstermitte bewegen, um ausreichend Zufallszahlen zu erzeugen. Nach wenigen Augenblicken ist ein neuer Schlüssel erstellt und wird angezeigt.

Im Feld Key Comment ergänzt man nun einen sinnvollen Kommentar, z.B. „PuTTY-Schlüssel von <User@Rechner>“. In den Feldern Passphrase und Confirm Passphrase vergibt man ein Passwort, mit dem der Schlüssel geschützt wird.

Anschließend speichert man den privaten Schlüssel mit Save private key und den Öffentlichen mit Save public key. Schlüssel, die mit den Namen id_rsa oder id_dsa im Programmverzeichnis gespeichert werden, werden beim Öffnen von neuen Sessions automatisch gefunden. Der private Schlüssel erhält automatisch die Endung .ppk (für PuTTY Private Key). Den Öffentlichen Schlüssel speichert man sinnvollerweise mit der Endung .pub analog zur Namenskonvention von OpenSSH.

Geben Sie den privaten Schlüssel niemals an Dritte weiter.

Session mit Schlüsselpaaren schützen

Im PuTTY-Konfigurationsdialog lädt man eine Session (das kann auch default Settings sein) und wechselt dann zur Kategorie Connection→Data. Hier ergänzt man den Nutzernamen im Feld Auto-login username. In der Kategorie Connection→SSH→Auth wählt man den vorhin gesicherten privaten Schlüssel im Feld Private key file for authentication.

Nun öffnet man den privaten Schlüssel nochmal in PuTTYgen und kopiert den Inhalt des Felds Public key for pasting into OpenSSH authorized_keys file:. Nachdem man sich auf dem Zielsystem angemeldet hat, hängt man den Schlüssel an die Datei ~/.ssh/authorized_keys an:

cheasy@mein.rechner.org:~$ echo KopierterText >> .ssh/authorized_keys

Der öffentliche Schlüssel besteht aus einer einzigen, überlangen Zeile. Der Öffentliche Schlüssel im PuTTY-Format funktioniert nicht in ~/.ssh/authorized_keys.

cheasy@mein.rechner.org:~$ cat .ssh/authorized_keys
ssh-rsa AAAAB3NzaC1y ... Lhs1njr5SXF6Xw== rsa-key-20030716
ssh-rsa AAAAB3NzaC1y ... hjkIJDbnfksIJF== rsa-key-20070626

Beim nächsten Anmelden sollte nun keine Passworteingabe mehr erforderlich sein.

Pageant einrichten

WinSCP im Explorer-Modus Mit der bisher beschriebenen Methode muss man jedesmal, wenn man eine Session öffnet, das Passwort des Schlüssels eingeben. Auf die Dauer ist dies kein Komfortgewinn gegenüber Server-Passworten. Dieses Problems nimmt sich Pageant an.

Pageant nistet sich im System-Tray rechts unten in der Schnellstart-Leiste ein und zeigt alle in Pageant gespeicherten Sessions an. Pageant kann Schlüssel laden und lokalen Programmen auf Anfrage zur Verfügung stellen. Die Schnittstelle ist offen, so daß sich weitere Programme an diesen Service von Pageant anbinden können, z. B. WinSCP, ein Dateimanager für Windows, mit dem man Dateien per Drag&Drop vom Windows Explorer auf Remote Server per scp, sftp oder ftp übertragen kann.

Pageant im Autostart-Menü eintragen

Verknüpfung zu Pageant im Autostart-Menü Im Autostart-Menü legt man eine neue Verknüpfung zu Pageant an. Im Feld Ziel: ergänzt man den vollständigen Pfad zu allen Schlüsseln, die Pageant beim Programmstart laden soll:

C:\Programme\PuTTY\pageant.exe C:\Programme\PuTTY\id_rsa.ppk

Beim Programmstart lädt Pageant nun automatisch alle hier angegeben Schlüssel und hält diese im Speicher vor, bis Pageant beendet wird. Darüber hinaus sind alle in PuTTY gespeicherten Sessions im Submenü Saved Sessions direkt aufrufbar.