Modernste Cloud Lösungen
von Softronics

Public und Private Key einrichten

Wie Sie das SSH-Login mittels Public und Private Key auf einem Linux Server einrichten, erklären wir in diesem Artikel.

Die Linux Server werden von Softronics standartmässig mit dem SSH-Login mittels Benutzername und Passwort eingerichtet. Um mehr Sicherheit zu erhalten, können Sie die Authentifizierungsmethode mit einem Schlüsselpaar verwenden. Im Vergleich zur Benutzername/Passwort-Authentifizierung bietet diese einige Vorteile:

  • Vollautomatisiertes Login (ohne Hinterlegung eines Passphrases)
  • Da für das Login ein Schlüsselpaar verwendet wird, ist das Hacken durch Brut-Force-Attacken ausgeschlossen. Das Login mittels Passwort muss jedoch deaktiviert sein.
  • Sie können für jeden Benutzer einen entsprechenden Privat-Key generieren und auf dem Server aktivieren.

Schritt 1: Erzeugen des Schlüsselpaares

Das benötigte Schlüsselpaar kann einfach über die Shell generiert werden mit dem Befehl

 

ssh-keygen

Ohne weitere Angeben wird das Schlüsselpaar mit dem Algorithmus rsa und einer Läng von 2048 bits erzeugt.

 

  • rsa Das RSA-Verschlüsselungsverfahren ist ein häufig benutztes Verschlüsselungsverfahren, weil es sehr sicher ist. Es gehört zu der Klasse der asymmetrischen Verschlüsselungsverfahren. Die Schlüssellänge ist 2048 bits oder besser 4096 bits.
  • dsa
  • ecdsa
  • ed25519

Mit der Option –t wird der Algorithmus bestimmt und mit –b die Schlüssellänge

 

ssh-keygen –t rsa –b 4096
ssh-keygen –t dsa
ssh-keygen –t ecdsa –b 521
ssh-keygen –t ed25519

 

Schritt 2: Erzeugen des Schlüssels und der Passphrase

Nachdem der Befehl eingegeben wurde, müssen noch einige Fragen beantwortet werden.

 

Enter file in which to save the key (/root/.ssh/id_rsa) :

 

Wenn der Pfad nicht geändert werden soll, bestätigen Sie mit Enter.

 

Enter passphrase (empty for no passphrase) :
Enter same passphrase again :

 

Entscheiden Sie, ob Sie eine Passphrase verwenden möchten. Die Eingabe einer Passphrase hat den Vorteil, dass die Sicherheit eines Schlüssels verbessert wird. Sollte der Schlüssel in fremde Hände fallen, benötig man immer noch dir Passphrase für das Login. Nachteil natürlich, wenn Sie eine Passphrase verwenden, diese muss dann bei jeder Verwendung des Schlüsselpaars eingegeben werden.

 

Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
ea:a1:ff:3b:ce:6d:af:b2:5f:34:10:35:7a:ee:4e:ed user@test.mydomain.tld

 

Der Schlüssel wurde generiert und im angegeben Verzeichnis gespeichert.

 

Schritt 3: Privat-Key vom Server entfernen

Der Private-Schlüssel wurde in .ssh/id_rsa gespeichert. Wir empfehlen, diesen vom Server zu entfernen und an einem geschützten Ort zu sichern.

 

Schritt 4: Public-Key für das Login hinterlegen

Damit zukünftig ein Login mit dem privaten Schlüssel möglich ist, ist es erforderlich, den öffentlichen Schlüssel in Ihrem Home-Verzeichnis im Unterordner ".ssh" in der Datei "authorized_keys" zu hinterlegen. Dabei ist es möglich, mehrere öffentliche Schlüssel in dieser Datei zu hinterlegen, um mehreren Nutzern den Zugriff auf diesen Benutzer per SSH zu ermöglichen.
Der öffentliche Schlüssel befindet sich im Verzeichnis /root/.ssh/ in der Datei id_rsa.pup. Diese Datei muss nun noch umbenennt werden.

 

# mv id_rsa.pup authorized_keys

 

Jetzt noch die Rechte anpassen mit:

 

# chmod 0700 ~/.ssh –R

 

Schritt 5: Login testen

Prüfen Sie nun das Login mit dem Privat-Key. Sollte es nicht funktionieren, ist bei der Installation ein Fehler unterlaufen. Sie benötigen Unterstützung? Dann melden Sie sich bei unserem Support.

 

Schritt 6: Passwort-Login deaktivieren

Nachdem das SSH-Login mit dem Schlüssel erfolgreich war, können Sie zur erhöhten Sicherheit, das SSH-Login mit Benutzer/Passwort deaktivieren.

Öffne das SSH-Konfig-File.

 

# sudo nano /etc/ssh(sshd_config)

 

Suche nun die Zeile mit PasswordAuthentification yes und passe diese so PasswordAuthentification no an, dass nur noch das Login mit SSH-Key möglich ist.

 

Damit die Änderungen aktiv werden führen Sie noch den Befehl:

 

# restart ssh

 

Login mit PuTTY

Im SSH-Client "PuTTY" kann vor dem Verbindungsversuch ein privater Schlüssel ausgewählt werden. Wählen Sie hierfür unter "Connection", "SSH", "Auth" Ihren privaten Schlüssel aus. Anschliessend können Sie wie gewohnt die Verbindung herstellen. Falls Sie Ihren Schlüssel durch eine Passphrase geschützt haben, wird diese bei jedem Verbindungsaufbau abgefragt.

 

Schlüssel auf lokalem Computer erzeugen für den Server

Das Schlüsselpaar kann auch auf einem lokalen Linux Computer erzeugt werden. Vom Ablauf her ist das identisch wie oben beschrieben. Der Schlüssel muss in diesem Falle jedoch entsprechend auf den Server kopiert und aktiviert werden. Schritt 3 in der Anleitung oben entfällt. Stattdessen kopieren Sie den Schlüssel auf den Server mit.

 

SSH-copy-id user@host