Schlagwort-Archive: PuTTY free SSH Client

PuTTY ist eine freie Software zum Herstellen von Verbindungen über Secure Shell, Telnet, Remote login oder serielle Schnittstellen.

PuTTY SSH Verbindung aus KeePass starten

Tutorial zur Bereitstellung von PuTTY um eine SSH Verbindung aus Windows 11 mit dem KeePass Password Manager zu starten

PuTTY SSH Verbindung aus KeePass starten

PuTTY SSH Verbindung aus KeePass

Im ersten Schritt geht man über Tools – Options – zum Abschnitt Integration und klickt die Schaltfläche URL Overrides, dann mit Add ein neuen Schema Eintrag hinzufügen.

Als Schema Name verwende ich hier im Beispiel „putty“. Im Feld URL override die folgende Zeile einfügen.

Im Fenster URL Override auf Add klicken für ein neues Schema.

cmd://"%ProgramFiles%\PuTTY\putty.exe" -ssh {USERNAME}@{TITLE} -pw {PASSWORD}

Mit OK bestätigen und KeePass schliessen und wieder starten.

KeePass the Password Safe

KeePass Password Safe ist ein freies, unter den Bedingungen der GNU General Public License (GPL) erhältliches Programm zur Kennwortverwaltung. Es verschlüsselt die gesamte Datenbank, welche auch Benutzernamen und Ähnliches enthalten kann.

Die Datenbank ist durch einen Hauptschlüssel (Master Key) gesichert; ohne diesen lässt sich die Datenbank nicht entschlüsseln. Das Hauptkennwort (Master Password) muss manuell eingegeben werden, und es kann eine Schlüsseldatei (Key File) verwendet werden, die beispielsweise auf einem mobilen Laufwerk wie USB-Stick oder CD liegt.

KeePass 2.x unterstützt unter Windows zusätzlich eine Methode, einen geheimen Schlüssel des aktuellen Windows-Benutzers zu verwenden. Die Datenbank lässt sich damit nur öffnen, wenn der Benutzer mit dem richtigen Windows-Nutzerkonto angemeldet ist. Ein Nachteil dieser Methode ist, dass es bei einem Verlust des Kontos nicht ausreicht, ein neues mit demselben Benutzernamen und Passwort zu erstellen, da der geheime Schlüssel des Kontos zwar mit diesen Daten geschützt ist, aber nicht direkt daraus abgeleitet werden kann. Bei Verwendung ist es daher wichtig, eine Datensicherung des Windows-Konto-Schlüssels zu erstellen.

Es gibt Plugins zur Verwendung von Windows Hello, das unter anderem eine Authentifizierung per Fingerabdruck ermöglicht. Die Sicherheit entspricht hierbei im Wesentlichen der des Windows-Nutzerkontos.

SSH Login mit PuTTY Key Authentifizierung

PuTTY SSH Anmeldung mit puttygen Schlüsselpaare

Die SSH Authentifizierung über asymmetrische Schlüssel ist nicht nur sicherer als die Passwortabfrage, auch ermöglicht die Public-Key-Authentifizierung eine automatisierte Anmeldung, beispielsweise bei der Script Ausführung. Bei PuTTY dient der PuTTY Key Generator puttygen.exe zum Erzeugen von RSA-(Standard) oder DSA- und ECDSA Schlüsselpaaren.

Das Tool findet man auf putty.org mit Download PuTTY, hat man den putty-installer.msi gewählt, ist puttygen bereits im Windows-Startmenü unter PuTTY zu finden. Zum Erzeugen eines RSA-Schlüsselpaares genügt ein Klick auf die Schaltfläche Generate. Möchte man DSA- oder ECDSA-Schlüssel erzeugen, kann der gewünschte Algorithmus unten im Parameter Optionsfeld gewählt werden.

PuTTY Key Schlüsselpaar erzeugen

Für die Generierung des Schlüssels wird währenddessen der nötige Zufallsmechanismus erzeugt, indem man im freien Bereich des Dialogfensters die Maus frei bewegt. Anschliessend gibt man bei Key passphrase optional das gewünschte Schlüssel Passwort ein.

PuTTY Key generate

Zum Speichern des Private-Key die Schaltfläche Save private key wählen, beim Dialog „ob man sich sicher ist den Key ohne passphrase zu schützen!„, kann man sich entscheiden mit oder ohne Passphrase zu Speichern. Den Public Key speichern ist nicht zwingend erforderlich, weil dieser sich jederzeit aus dem privaten Schlüssel errechnen lässt.

  Der Private Schlüssel sollte an einem sicheren Ort aufbewahrt werden, dies gilt vor allem dann, wenn der Private Schlüssel nicht durch eine Passphrase geschützt ist. Ist ein Privat Key einmal abhandengekommen, können unbefugte damit nichts anfangen, wenn dieser durch eine Passphrase geschützt ist. Hingegen ist bei der automatisierten Verarbeitung durch Scripts eine Passphrase nicht erwünscht.

Der Dateiname und der Pfad beim Speichern ist frei wählbar, es hat sich aber für PuTTY-Schlüssel die Endung .ppk verbreitet, da es den Hinweis auf das vom Linux abweichende Format gibt. PuTTY akzeptiert OpenSSH-Keys nicht, im Menü Conversions ist es jedoch möglich, vorhandene OpenSSH-Keys zu importieren, und auch PuTTY-Keys zu exportieren.

Public Key auf Server Speichern

Der Public Key ist öffentlich und soll auf dem Server publiziert werden, diesen mit der Maus im Feld Key vollständig markieren und mit Ctrl+C in die Zwischenablage kopieren.

PuTTY Key Generator Public key pasting into authorized_keys

Nun loggt man sich mit PuTTY noch einmal mit Benutzername und Passwort auf dem entfernten Linux Server ein, öffnet die Datei ~/.ssh/authorized_keys mit einem Editor der Wahl und fügt den Public Key aus der Zwischenablage ein.

  Es darf am Schlüssel nichts verändert werden, einfach nur copy & paste. Es können in der Datei authorized_keys mehrere Schlüssel nacheinander stehen, ohne Leerzeichen oder Zeilen dazwischen.

PuTTY mit Private Key verwenden

Um beim nächsten Login die Public-Key-Authentifizierung zu verwenden, beginnt man beim öffnen von PuTTY gleich bei Basic options for your PuTTY session im Bereich Session, und gibt die IP-Adresse oder der Host Name ein, bei Saved Sessions trägt man den gewünschten Name ein und klickt auf Save, zuvor aber noch im Bereich Category unter Connection auf + SSH klicken, bei Auth im Feld Private key file for authentication den Dateinamen des Private Keys eintragen. Das geht am einfachsten, indem man auf Browse klickt und die entsprechende Datei im Dateiauswahl Fenster auswählt.

PuTTY SSH Key Authentication

Die Anmeldedaten für jede einzelne Verbindung kann als Session gespeichert werden. Wird nun eine Verbindung zum Linux Server aufgebaut, verlangt dieser nach der Identität, so dass der angegebene Benutzername einen in der Datei authorized_keys angegebenen öffentlichen Schlüssel besitzen muss, dieser zum Privaten Schlüssel passt.

Es wird zur Eingabe der Passphrase aufgefordert (falls eingetragen), um den in der lokalen Datei .ppk gespeicherten privaten Schlüssels zu aktivieren. Sind beide Schlüssel identisch, wird der Zugang gestattet.

SSH Konfiguration auf Linux Server

Auf dem Linux Server muss die SSH Server Konfiguration für SSH Authentifizierung über asymmetrische Schlüssel aktiviert sein, bei den meisten Linux Distributionen ist standardmässig die Public-Key-Authentifizierung aktiviert in /etc/ssh/sshd_config.

#PubkeyAuthentication yes
#RSAAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys

  OpenSSH: Ein führendes Hash (#) Zeichen bedeutet, das es sich um den Default Wert handelt, soll der Wert geändert werden, wird # entfernt und der Parameter entsprechend modifiziert.

Die Benutzer verwalten ihre Public Keys unter $home in ~/.ssh/authorized_keys nach dem erstellen mit adduser ist das Verzeichnis .ssh meist nicht vorhanden, es wird in diesem Fall als root für den User Fritz wie folgt erstellt.

$ cd /home/fritz
$ mkdir .ssh
$ chown fritz:fritz .ssh
$ chmod 700 .ssh
$ touch .ssh/authorized_keys
$ chmod 600 .ssh/authorized_keys

  Das Verzeichnis .ssh ist für andere Benutzer nicht einsehbar.