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