Wie konfiguriere ich SSH-Keys für die Nutzung mit Cygwin SSH-Client?
- Vorbereitung: Cygwin und OpenSSH installieren
- Schlüssel-Paar erzeugen
- Öffentlichen Schlüssel auf den Server übertragen
- Berechtigungen unter Cygwin kontrollieren
- SSH-Verbindung mit Schlüssel testen
- Optionale Feinjustierung: SSH-Agent nutzen
- Zusammenfassung
Die Verwendung von SSH-Keys mit dem Cygwin SSH-Client bietet eine sichere und bequeme Methode zur Authentifizierung bei SSH-Verbindungen, ohne jedes Mal ein Passwort eingeben zu müssen. Im Folgenden wird ausführlich beschrieben, wie Sie SSH-Schlüssel unter Cygwin erzeugen, konfigurieren und nutzen können.
Vorbereitung: Cygwin und OpenSSH installieren
Bevor Sie SSH-Keys verwenden können, stellen Sie sicher, dass Cygwin mit dem OpenSSH-Paket installiert ist. Falls OpenSSH nicht installiert ist, können Sie den Cygwin-Setup erneut starten und im Paket-Auswahlmenü unter Net das Paket openssh hinzufügen. Nach der Installation öffnen Sie eine Cygwin-Konsole (Terminal), um die weiteren Schritte durchzuführen.
Schlüssel-Paar erzeugen
In der Cygwin-Shell erzeugen Sie ein SSH-Schlüssel-Paar mittels des Befehls ssh-keygen. Geben Sie dazu einfach ssh-keygen ein und folgen Sie den Anweisungen. Standardmäßig werden die Schlüssel im Verzeichnis ~/.ssh/ unter den Namen id_rsa (privater Schlüssel) und id_rsa.pub (öffentlicher Schlüssel) gespeichert. Optional können Sie eine Passphrase zur zusätzlichen Absicherung vergeben, diese ist aber nicht zwingend erforderlich.
Ein Beispielbefehl und Ausgabe sieht so aus:
$ ssh-keygenGenerating public/private rsa key pair.Enter file in which to save the key (/home/Benutzer/.ssh/id_rsa):Enter passphrase (empty for no passphrase):Enter same passphrase again:Your identification has been saved in /home/Benutzer/.ssh/id_rsa.Your public key has been saved in /home/Benutzer/.ssh/id_rsa.pub.Öffentlichen Schlüssel auf den Server übertragen
Für die schlüssellose Authentifizierung muss der öffentliche Schlüssel auf dem Zielserver hinterlegt werden. Das geschieht, indem der Inhalt der Datei ~/.ssh/id_rsa.pub an die Datei ~/.ssh/authorized_keys des Benutzerkontos auf dem Server angehängt wird.
Wenn Sie per Passwort auf den Server zugreifen können, können Sie den Schlüssel zum Beispiel mittels ssh-copy-id übertragen. Leider ist ssh-copy-id unter Cygwin nicht immer standardmäßig verfügbar, dann können Sie den Schlüssel auch manuell übertragen:
Im Terminal geben Sie ein:
$ cat ~/.ssh/id_rsa.pubKopieren Sie die ausgegebene Zeile und fügen Sie diese auf dem Server in die Datei ~/.ssh/authorized_keys ein. Stellen Sie sicher, dass das Verzeichnis ~/.ssh auf dem Server die Berechtigungen 700 und die Datei authorized_keys die Berechtigungen 600 hat, damit SSH die Schlüssel akzeptiert.
Berechtigungen unter Cygwin kontrollieren
Unter Cygwin ist es wichtig, dass die Zugriffsrechte auf die SSH-Schlüssel richtig gesetzt sind, da ansonsten der SSH-Client die Schlüssel nicht verwendet. Prüfen Sie die Rechte mit dem Befehl ls -l ~/.ssh/. Die private Schlüsseldatei id_rsa sollte nur für den User lesbar sein (600), also z.B. so gesetzt werden:
$ chmod 600 ~/.ssh/id_rsaDas Verzeichnis ~/.ssh sollte mindestens die Berechtigung 700 haben:
$ chmod 700 ~/.sshSSH-Verbindung mit Schlüssel testen
Nachdem Sie den öffentlichen Schlüssel auf dem Server hinterlegt und die Berechtigungen geprüft haben, können Sie die Verbindung testen. Verbinden Sie sich mit dem Befehl:
$ ssh benutzername@serveradresseWenn alles korrekt eingerichtet ist, werden Sie nicht mehr nach dem Passwort gefragt, sondern die Authentifizierung erfolgt mit dem SSH-Key. Falls eine Passphrase für den privaten Schlüssel vergeben wurde, werden Sie jetzt dazu aufgefordert, diese einzugeben.
Optionale Feinjustierung: SSH-Agent nutzen
Um nicht bei jeder Verbindung die Passphrase eingeben zu müssen, können Sie den ssh-agent unter Cygwin verwenden. Starten Sie zunächst den Agent mit:
$ eval `ssh-agent`Fügen Sie dann Ihren privaten Schlüssel dem Agenten hinzu:
$ ssh-add ~/.ssh/id_rsaDer ssh-agent verwaltet nun Ihren Schlüssel im Hintergrund und Sie müssen die Passphrase nur einmal eingeben. Die Verwaltung des ssh-agent kann in der Cygwin-Umgebung manuell erfolgen oder durch Start-Skripte automatisch eingerichtet werden.
Zusammenfassung
Die Einrichtung von SSH-Keys unter Cygwin besteht aus dem Erzeugen eines Schlüsselpaares, dem sicheren Übertragen des öffentlichen Schlüssels auf den Server in die Datei authorized_keys, dem Setzen korrekter Berechtigungen und dem Verbindungsaufbau per SSH mit Key-Authentifizierung. Die optionale Nutzung von ssh-agent erleichtert die Handhabung von Passphrasen. Mit dieser Konfiguration profitieren Sie von einem sicheren und bequemen Login ohne Passwort-Eingabe bei jeder Verbindung.
