SSH Authentifizierung mit einem Schlüsselpaar

Mann mit Schlüssel vor Tür

Der SSH Login mit einem Schlüsselpaar ist nicht nur deutlich sicherer als die „klassische“ Methode (Benutzername und Passwort), sondern auch komfortabler. Die Einrichtung dauert nur wenige Minuten und spart aber bei häufigen Logins viel Zeit.

Schritt 1: Schlüsselpaar generieren

Zuerst muss auf dem eigenen Rechner ein Schlüsselpaar geniert werden. Unter Linux und Mac OS X erstellt man ein Schlüsselpaar mit folgendem Befehl:

ssh-keygen

Ist das Schlüsselpaar erstellt, wird dieses im Ordner .ssh, welcher im Benutzerverzeichnis liegt, abgespeichert (z.B. /home/benutzername/.ssh).

Wichtig: Der private Schlüssel (Private Key) ist, wie der Name schon sagt, nicht für die Öffentlichkeit bestimmt und darf nicht in die falschen Hände geraten!

Schritt 2: Öffentlichen Schlüssel (Public-Key) auf dem Server hinterlegen

Nun muss der öffentliche Schlüssel (id_rsa.pub) auf dem Server hinterlegt werden. Hierzu lässt man sich auf dem eigenen Rechner zunächst den öffentlichen Schlüssel anzeigen:

cat ~/.ssh/id_rsa.pub

Die Ausgabe schaut in etwa folgendermaßen aus:

ssh-rsa AAAAB3NzaC1yc2E/YOZRq+tIPCpHbh6zTbk5AIl5FQEWkr4iDnJOXXo74Sq6HAPutqKHZto5L97QaK27x0qSf2W1YkOr+O0JgF0PjRQ1/Tp/YOZRq+tIPCpHbh6zTbk5AIl5FQEWkr4iDnJOXXo74Sq6HAPutqKHZto5L97QaK27x0qSf2W1YkOr+O0Jw+Qppldw9y3af8IR8mvtKXl/i9n2ZOdYJNxTzvEQeRh6wSAtNWNEPw7Qme7gaIJ29ziHgYh7xr+O0JgF0PjRQ1/Tp/YOZRq+tIPCpHbh6zTbz1Wx1gVF26SqNJhRtnlOw/G5fNxIpMgy1fMdZ0okNYK5b

Danach loggt man sich per SSH auf dem entfernten Rechner (Server) ein. Hierbei sollte man sich bereits mit dem Benutzer einloggen, welcher sich zukünftig per Schlüssel authentifizieren soll.

Sofern noch nicht vorhanden, muss nun der Ordner .ssh und die Datei authorized_keys im Benutzerverzeichnis erstellt werden.

mkdir ~/.ssh/
nano ~/.ssh/authorized_keys

In die Datei authorized_keys fügt man nun den öffentlichen Schlüssel ein, welcher in Schritt 1 auf dem eigenen Rechner generiert wurde.

Schritt 3: Berechtigungen setzen

Damit der öffentliche Schlüssel nicht von jedem Benutzer eingesehen werden kann, müssen nun die Rechte des Ordners .ssh und der Datei authorized_keys angepasst werden.

chown -R benutzername:benutzername ~/.ssh
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

Schritt 4: Passwort Authentifizierung deaktivieren (optional)

Um sicher zu gehen, dass sich niemand ohne entsprechenden Schlüssel auf dem entfernten Rechner einloggen kann, sollte die Passwort Authentifizierung in der Konfiguration von openssh deaktiviert werden. Hierzu öffnet man die Konfigurationsdatei von openssh …

nano /etc/ssh/sshd_config

… und ändert den Punkt PasswordAuthentication von yes auf no.

PasswordAuthentication no

Im Anschluss folgt ein Neustart von openssh.

service ssh restart

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.