PuTTY ===== .. |date| date:: .. sidebar:: Info .. image:: ../images/logo-freebsd.png .. image:: ../images/logo-openbsd.png .. image:: ../images/logo-netbsd.png .. image:: ../images/logo-dragonflybsd.png 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 ~~~~~~~~~~~~~~~~~~~~~~~~ |gen.png| 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. .. note:: Geben Sie den privaten Schlüssel niemals an Dritte weiter. Session mit Schlüsselpaaren schützen ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |auth.png| 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 .. note:: 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 |pageant_menue.png| 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. .. |PuTTY-Verzeichnis| image:: images/directory.png :class: align-right :width: 180px .. |New Connection| image:: images/new_connection.png :class: align-left :width: 180px .. |Connection| image:: images/connection.png :class: align-left :width: 180px .. |Angemeldet| image:: images/loggedin.png :class: align-right :width: 180px .. |Save Session| image:: images/save_session.png :class: align-right :width: 180px .. |gen.png| image:: images/gen.png :class: align-left :width: 180px .. |auth.png| image:: images/auth.png :class: align-right :width: 180px .. |WinSCP im Explorer-Modus| image:: images/winscp.png :class: align-right :width: 180px .. |Verknüpfung zu Pageant im Autostart-Menü| image:: images/pageant_autostart.png :class: align-right :width: 180px .. |pageant_menue.png| image:: images/pageant_menue.png :class: align-left :width: 180px * :ref:`genindex` Zuletzt geändert: |date|