Wie konfiguriere ich SSH-Keys für die Nutzung mit Cygwin SSH-Client?

Melden
  1. Vorbereitung: Cygwin und OpenSSH installieren
  2. Schlüssel-Paar erzeugen
  3. Öffentlichen Schlüssel auf den Server übertragen
  4. Berechtigungen unter Cygwin kontrollieren
  5. SSH-Verbindung mit Schlüssel testen
  6. Optionale Feinjustierung: SSH-Agent nutzen
  7. 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.pub

Kopieren 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_rsa

Das Verzeichnis ~/.ssh sollte mindestens die Berechtigung 700 haben:

$ chmod 700 ~/.ssh

SSH-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@serveradresse

Wenn 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_rsa

Der 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.

0

Kommentare