Schlüsselbasierte SSH-Authentifizierung

veröffentlicht am 08. Januar 2010

Gestern habe ich bereits geschrieben, wie man einen automatisierten SSH-Login ohne Schlüsselpaare erstellen kann. Diese Variante sollte jedoch nur dann genutzt werden, wenn es absolut unvermeidbar ist. Heute zeige ich euch, wie man normalerweise eine SSH-Authentifizierung ohne Passworteingabe sondern mit Schlüsselpaaren einrichtet. Die Einrichtung dieser Methode ist in wenigen Schritten erledigt und sollte niemanden vor größere Hürden stellen.

Zunächst generierst du auf deinem Client das nötige Schlüsselpaar:

ssh-keygen -N "" -t rsa -f ~/.ssh/id_rsa

Dabei werden die Datei id_rsa (privater Schlüssel) und id_rsa.pub (öffentlicher Schlüssel) generiert. Der private Schlüssel sollte gut geschützt werden, da sich ein Dritter mit dem Schlüssel ohne Passwortabfrage Zugang zu den Servern verschaffen kann, auf denen der öffentliche Schlüssel hinterlegt wird.

Danach teilst du SSH mit, wo dein privater Schlüssel liegt:

echo "identityfile $(echo ~)/.ssh/id_rsa" >> ~/.ssh/config

Zuletzt musst du den öffentlichen Schlüssel auf den entfernten Rechner spielen:

ssh-copy-id -i ~/.ssh/id_rsa.pub <Benutzername>@<Computer>

Hierbei musst du <Benutzername> durch den gewünschten Benutzer auf dem entfernten Rechner und <Computer> durch den Hostname oder die IP-Adresse des entfernten Computers ersetzen.

Nachdem du das gemacht hast, solltest du dich über

ssh <Benutzername>@<Computer>

ohne eine Passwortabfrage auf dem entfernten Computer anmelden können.

Hinterlasse einen Kommentar