14. Dezember 2019

SSH-Authentifizierung mittels Key

Wenn Ihr einen Linux-Server habt und keine Passwörter benutzen wollt zum Anmelden könnt Ihr euch auch mittels eines SSH Public/Private Keypaares anmelden.

Übersicht

Den Server entsptrechend einrichten und für jeden User als dern Ihr euch anmelden wollt (Zieluser) muss der public Key in der Datei ~/.ssh/authorized_keys hinterlegt werden (ein Key pro Zeile):

Client(Windows)

Generieren eines Schlüsselpaares

„Puttygen“ starten

  1. Ggf. in den letzten beiden Zeilen die Parameter ändern. Ich würde „RSA“ stehen lassen und auf 4096 bit umschalten (1- Grundeinstellungen).
  2. „Generieren“ klicken (2-Generieren). Hier muss der Schlüssel generiert werden und für die Zufallsdaten muss die Maus über dem PuttyGen-Fenster bewegt werden.
  3. Am Ende sind die Schüssel erzeugt (3-Generiert).
  4. Nun unter „Key passphrase“ und „confirm passphrase“ ein Passwort des Schlüssels hinterlegen. Dieses Passwort muss bei Verwendung des Schlüssels eingegeben werden.
    Ohne Passwort muss kein solches eingegeben werden, jedoch kann dann wirklich JEDER der den private Key erhält auf Eure Server zugreifen, ein Passwort ist als dringend anzuraten, außer es soll ein Zugriff automatisiert werden..
  5. „Key comment“ ändern. Dies steht in der Key-Zeile nach dem Key und hilft den Key schnell identifizieren zu können. Eine Benutzer-ID oder eine Mailadresse ist hier sinnvoll.
  6. „Save Public Key“ klicken und den Key in eine Datei mit der Endung „.pub“ speichern. => Diese Datei ist öffentlich!
  7. „Save private key“ klicken und den Key an einem Sicheren, geheimen Ort mit der Endung „.ppk“ speichern.
  8. Weiter oben wird eine Box mit dem OpenSSH-Kompatiblen Public Key angezeigt. Dieser beginnt mit „ssh-rsa AAAAB3Nza“… und geht auch nach unten weiter – hier den vollständigen Key kopieren und säter in die „authorized_keys“ als neue, eigene Zeile einfügen. Am Ende der Zeile steht der obige „Key Comment“

Client(Linux)

Generieren des Keys mittels:

ssh-keygen -t rsa -C „Key Comment“

Hier ist ein sinnvoller „Key Comment“ anzuraten, ähnlich wie bei Windows.

Die Keys liegen dann unter:

Public Key: ~/.ssh/id_rsa.pub
Private Key: ~/.ssh/id_rsa

Server

Auf dem Server mit dem Zieluser auszuführen, falls noch nicht existent:

mkdir ~/.ssh
chmod 755 ~/.ssh
touch ~/.ssh/authorized_keys
chmod 644 ~/.ssh/authorized_keys
nano ~/.ssh/authorized_keys

mit dem letzten Befehl (hier könnte man statt nano auch vi nutzen) editiert man die Datei und kann dann die gewünschten Keys zeilenweise hinterlegen.

Auf dem Server mit root auszuführen:

nano /etc/ssh/sshd_config

    • RSAAuthentication yes
    • PubkeyAuthentication yes

Als Root auszuführen:

service ssh restart

Nutzung unter Linux

Wenn man die Schlüssel generiert hat wird per Default stets eine Anmeldung mit diesen als erstes Versucht und auf normale Username/Passwort-Authentifzierung zurück gegriffen, falls der Zieluser auf dem Server den eigenen Key nicht erkennt.

Nutzung unter Windows

Unter Windows ist die Nutzung eines Keys am Einfachsten mit „Pageant“ durchführbar.

Man Startet Pageant (Teil der PuttySuite).

Dann gibt es in der Infoleiste in Windows ein neues Icon von Pageant, dort mit Rechstklick => „Add Key“ einen neuen Key laden.

Bei jeder Anmeldung wird putty die Liste der geladenen Keys prüfen und den ersten Key zum Anmelden nutzen, der auf dem Server dem Benutzer den man nutzen möchte bekannt ist. In einem Sepatraten Beitrag zeige ich euch, wie Ihr euren Key beider Windows-Anmeldung automatisch laden lassen könnt.

Hinweis

PS: Wie gesagt sollte der Private Key IMMER geheim gehalten werden / nur denjenigen zugänglich sein, die auch berechtigt sind sich als dieser User auszugeben. Personalisierte Keys, die auf jeden Fall EUCH identifizieren sind also unter keine Umständen zu veröffentlichen.
Dieser Key hier in den Screenshots ist übrigens nicht gespeichert worden und nur einmalig angelegt worden (Falls sich einer fragen sollte…)

Schreibe einen Kommentar

Wir benutzen Cookies um die Nutzerfreundlichkeit der Webseite zu verbessen. Durch Deinen Besuch stimmst Du dem zu.