Wenn man mehrere Server hat möchte man manchmal vieleicht eine SSH Verbindung unter diesem aufbauen können, ohne das Passwort einzugeben.
-Dies hat z.B. in scripts den Vorteil, dass, auch wenn man scp oder rsync benutzt nirgendwo das Passwort hinschreiben muss.
Und so gehts:
SSH-Keys generieren:
ssh-keygen -t rsa ssh-keygen -t dsa |
Es entstehen zwei Dateien mit den Schlüsselpaaren: ~/.ssh/id_{rsa,dsa} und ~/.ssh/id_{rsa,dsa}.pub.
[stextbox id=“note“ caption=“Hinweis“]Für Protokol 2 gibt es RSA und DSA Keys, eigentlich reicht normalerweise einer von beiden.[/stextbox]
Die *.pub-Dateien können nun auf den Zielhost kopiert werden und dort an ~/.ssh/authorized_keys angehängt werden:
ssh-copy-id -i ~/.ssh/id_rsa.pub user@remote-system ssh-copy-id -i ~/.ssh/id_dsa.pub user@remote-system |
user@remote-system steht dabei für den gewünschten user (z.B. root) auf dem system, auf das man zugreifen möchte.
Hat man am Anfang eine Passphrase eingegeben, wird immer nach dieser gefragt. Um dies zu verhindern, kann man dem ssh-agent sagen er soll die Passphrase immer automatisch eingeben:
test "$SSH_AUTH_SOCK" || exec ssh-agent $SHELL -c "ssh-add; exec $SHELL -login" |
Eine genauere Beschreibung findet sich unter http://www.schlittermann.de/doc/ssh.html