SUCKUP.de

SSH mit Public-Key Authentifizierung – HowTo

This blog post has been published on 2010-01-30 and may be out of date.

Damit man sich nicht alle Passwörter merken muss, kannst du sogenannte Keys zur Authentifizierung verwenden. Als erstes gehen wir sicher, dass der ssh-Server bzw. ssh-Client überhaupt installiert ist.

Server:

sudo aptitude install openssh-server

Client:

sudo aptitude install ssh-client


So, nun benötigen wir einen public-key und einen private-key, diese erzeugen wir mit folgendem Kommando, auf dem Client-PC.

ssh-keygen -t rsa -b 2048 -C "deine@adresse.de"

(„deine@adresse.de“ ist nur ein Kommentar, also nicht wirklich von Bedeutung.)


Falls du dein Passwort im Nachhinein ändern willst, kannst du dies mit folgendem Kommando bewerkstelligen.

ssh-keygen -p 


Jetzt müssen wir dem remote Server, welcher zu unserem PC eine Verbindung (ohne Passwort) aufbauen können soll dem public-key → ~/.ssh/id_rsa.pub mitteilen. Wir kopieren den key auf den remote Server.

scp -p id_rsa.pub remoteuser@remotehost:

Dann Logen wir uns an dem remote Server ein und fügen den Schlüssel zu den authorized_keys hinzu.

ssh remoteuser@remotehost
cat id_rsa.pub >> ~/.ssh/authorized_keys
rm id_rsa.pub
logout


Alternativ kann man diesen Vorgang mit folgendem Kommando auch beschleunigen jedoch wollte ich auch einmal gezeigt haben, was dieses Kommando macht.

ssh-copy-id -i ~/.ssh/id_rsa.pub remoteuser@remotehost


Nun wollen wir einen ersten Test wagen, mal sehen ob alles funktioniert… in der Konsole bitte folgendes eingeben…

eval `ssh-agent`
ssh-agent
ssh-add

…und schon können wir auf einen entfernten Rechner zugreifen, ohne ein Passwort eintippen zu müssen.

ssh remoteuser@remotehost