Mit einem SSH-Key könnt ihr verschlüsselt auf ein Netzwerkgerät zugreifen. Für die Authentifizierung wird ein Schlüsselpaar benötigt, das aus einem privaten und einem öffentlichen Schlüssel besteht. Wir zeigen, wie ihr diese SSH-Keys generiert.

 
Was ist ein Netzwerk? – Einfach erklärt
Facts 

Was ist SSH?

SSH ist die Abkürzung für „Secure Shell“ (Sichere Kommandozeile). Per SSH könnt ihr in einer Kommandozeile auf einen anderen Computer im Netzwerk oder über das Internet zugreifen, um diesen beispielsweise aus der Ferne verwalten. Unter Windows funktioniert dafür das kleine Tool PuTTY. In Linux geht das über das Terminal.

Da ihr hier ein einfaches Kommandozeilenprogramm nutzt, braucht ihr am jeweiligen Zielrechner keine grafische Benutzeroberfläche (GUI) oder Maus oder Tastatur oder Bildschirm. Über SSH wird das alles per Remote-Verbindung an eurem jeweiligen Laptop oder PC erledigt.

Damit eine SSH-Übertragung sicher ist, wird ein SSH-Key für die sogenannte Public-Key-Authentifizierung benötigt. Dieser SSH-Key besteht aus zwei Schlüsseln: Dem öffentlichen und privaten Schlüssel. Ihr könnt sie relativ einfach an eurem Rechner generieren.

SSH-Key in Linux und macOS erstellen

1. Schritt:

Bild: GIGA
Bild: GIGA

Öffnet das Terminal. Meistens funktioniert das mit der Tastenkombination [Strg] + [Alt] + [T]. Ansonsten findet ihr das Terminal im Startmenü oder in der Anwendungsübersicht. In macOS findet ihr das Terminal im Ordner /Programme/Dienstprogramme/.

2. Schritt:

Bild: GIGA
Bild: GIGA

In macOS und in vielen Standard-Linux-Distributionen sind die Werkzeuge für die SSH-Key-Erstellung bereits vorinstalliert. Vielleicht müsst ihr in eurer Linux-Distribution also vorher „OpenSSH“ installieren. Das geht auf einer Debian-basierten Distribution wie Ubuntu oder Linux Mint im Terminal mit den folgenden Befehlen:

  • sudo apt-get install openssh-server
  • sudo systemctl enable ssh
  • sudo systemctl start ssh

Nun erstellt ihr den SSH-Key mit dem Befehl:

ssh-keygen -t rsa -b 4096

Das Betriebssystem erstellt nun einen SSH-Schlüssel nach dem RSA-Kryptosystem mit einer Länge von 4096 Bit. Gemäß derzeitigem Stand ist der Schlüssel damit gegen Brute-Force-Attacken sicher.

3. Schritt:

Bild: GIGA
Bild: GIGA

Der Computer fragt, in welcher Datei der Schlüssel abgelegt werden soll. In Linux ist das standardmäßig der versteckte Ordner /home/BENUTZERNAME/.ssh/id_rsa. In macOS ist das der versteckte Ordner /Users/cren/.ssh/id_rsa. Wenn ihr mit der Voreinstellung einverstanden seid, bestätigt den Vorgang mit [Enter]. Ansonsten gebt ihr am besten eine neue Datei mit eindeutigem Namen an. In unserem Beispiel nutzen wir die Standard-Ordner.

4. Schritt:

Bild: GIGA
Bild: GIGA

Optional könnt ihr nun den SSH-Key für noch mehr Sicherheit mit einer Passphrase – also einem Passwort – schützen. Diese müsst ihr danach nochmal bestätigen. Ansonsten lasst ihr die Felder leer und bestätigt zweimal mit [Enter].

5. Schritt:

Bild: GIGA
Bild: GIGA

Der SSH-Key wurde als Schlüsselpaar fertig erstellt. Ihr könnt die zugehörigen Dateien im bei Schritt 3 angegeben Ordner mit einem Texteditor öffnen. Bei uns sieht das Ergebnis so aus:

  • Der private Key („Your identification“) ist der Datei /home/jolanda/.ssh/id_rsa gespeichert.
  • Der öffentliche Key („Your public key“) ist in der Datei /home/jolanda/.ssh/id_rsa.pub gespeichert.

Falls ihr den Standard-Ordner genutzt habt, bedeutet ein Punkt vor dem Ordnernamen, dass der Order versteckt ist. Unter Linux blendet ihr versteckte Ordner im Dateimanager beispielsweise mit der Tastenkombination [Strg] + [H] ein und aus.

Achtung: Der private Schlüssel (Private Key) darf nicht in fremde Hände gelangen! Denn wer diesen Schlüssel hat, kann auf alle Systeme zugreifen, auf denen der dazugehörige öffentliche Schlüssel gespeichert ist. Die Zugriffsrechte des privaten Schlüssels sollten so eingestellt sein, dass nur der Eigentümer ihn lesen kann.

SSH-Key in Windows erstellen

1. Schritt:

Bild: GIGA
Bild: GIGA

Installiert euch das Programm PuTTY. Startet dann aber nicht PuTTY, sondern das mitinstallierte Programm PuTTYgen. Öffnet dazu das Startmenü, tippt „puttygen“ ein und öffnet das angezeigte Programm.

2. Schritt:

Bild: GIGA
Bild: GIGA

Stellt in PuTTYgen die folgenden Parameter ein:

  • Type of key to generate: RSA
  • Number of bits in generated key: 4096

Bestätigt mit dem Button „Generate“.

3. Schritt:

Bild: GIGA
Bild: GIGA

PuTTYgen fordert euch nun auf, mit der Maus über die freie Fläche unterhalb des Fortschrittbalkens zu fahren, um den SSH-Key zu erstellen. Danach seht ihr das Ergebnis. In den Feldern „Key passphrase“ und „Confirm passphrase“  könnt ihr noch ein Passwort für den SSH-Key festlegen, sofern gewünscht. Wir lassen das in unserem Beispiel leer.

So speichert ihr den SSH-Key:

  • Klickt auf den Button „Save public key“, um den öffentlichen Schlüssel zu speichern.
  • Klickt auf den Button „Save private key“, um den privaten Schlüssel zu speichern als PPK-Datei.

Am besten speichert ihr beide Dateien in einem Ordner und gebt den Dateien jeweils einen aussagekräftigen Namen. Das Schlüsselpaar ist nun fertig erstellt und einsatzbereit. Bei bedarf könnt ihr die Dateien in einen Editor ziehen, um den Inhalt anzuschauen.

Wie nutze ich SSH-Schlüssel?

Wenn ihr das SSH-Schlüsselpaar wie oben beschrieben erstellt habt, kopiert ihr den öffentlichen Schlüssel auf den Ziel-Computer, den ihr aus der Ferne oder über das Netzwerk fernsteuern möchtet. Loggt euch dazu auf dem Ziel-Computer ein kopiert den öffentlichen Schlüssel in einen von euch gewünschten Ordner. Der zugehörige Terminal-Befehl lautet:

ssh-copy-id -i ~/Pfad/zur/Schlüsseldatei benutzer@server

Passt den Ordnerpfad, euren Benutzernamen und den Server an. Anschließend könnt ihr euch mit dem folgenden Befehl auf dem Server anmelden:

ssh -i ~/Pfad/zur/Schlüsseldatei benutzer@server

Ein Passwort ist nun für die Anmeldung nicht mehr nötig, da der öffentliche Key auf dem Ziel-Computer mit dem privaten Key eures Rechners zusammenpasst. Falls ihr allerdings eine Passphrase (Passwort) für den SSH-Key vergeben habt, wird diese nun zusätzlich abgefragt.

Falls ihr bei der SSH-Key-Erstellung nicht den Standard-Ordner verwendet habt, gibt die Kommandozeile unter Umständen einen Fehler aus. Dann solltet ihr den privaten Schlüssel in den versteckten Benutzerordner „.ssh“ auf eurem Rechner verschieben. Danach sollte die Anmeldung gelingen.

Open-Source vs. kommerzielle Software – was nutzt ihr?

Du willst keine News rund um Technik, Games und Popkultur mehr verpassen? Keine aktuellen Tests und Guides? Dann folge uns auf Facebook (GIGA Tech, GIGA Games) oder Twitter (GIGA Tech, GIGA Games).