Automatischer SSH Login ohne Passworteingabe

Werbung

SSH Login ohne Passwortabfrage Es kann schon recht nervig sein, sich per SSH mit einem anderen Rechner zu verbinden und ständig das Passwort eingeben zu müssen. Gerade für Web-Entwickler, die ständig diese Verbindungen aufbauen, wäre es doch super, wenn man das Passwort nicht ständig eingeben müsste. Hier kommen dann die autorisierten Keys ins Spiel.

Was möchte ich machen?

In meiner Testumgebung habe ich zwei Server: „Al“ und „Peggy“. Ich möchte mich gerne von „Al“ aus auf „Peggy“ per SSH einloggen ohne ein Passwort eingeben zu müssen.

Wie kann ich mich ohne Passworteingabe per SSH verbinden?

Dazu erstelle ich auf „Al“ ein Paar Authentication Keys. Bei der Nachfrage zu Filename, und Passphrase habe ich einfach nur Enter gedrückt.

Werbung
ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/vagrant/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/vagrant/.ssh/id_rsa.
Your public key has been saved in /home/vagrant/.ssh/id_rsa.pub.
The key fingerprint is:
b8:ad:62:68:6c:bc:73:42:64:30:25:53:5f:00:74:37 vagrant@precise64

Jetzt muss auf „Peggy“ das SSH Verzeichnis angelegt werden, wenn es nicht bereits existiert. Für root kann auch ein anderer auf „Peggy“ vorhandener User gewählt werden. Hier muss das Passwort noch eingegeben werden.

ssh root@peggy mkdir -p .ssh
root@peggy's password:

Mit dem folgenden Befehl wird der Key von „Al“ nach „Peggy“ übertragen. Hier wird das Passwort nun endgültig zum letzten Mal benutzt.

cat .ssh/id_rsa.pub | ssh root@peggy 'cat >> .ssh/authorized_keys'
root@peggy's password:

Ab sofort kann man sich einfach per

ssh root@peggy

einloggen ohne Passworteingabe.

Meine Testumgebung habe ich übrigens mit Ansible angelegt. Ansible ist ein cooles Tool um die Erstellung von virtuellen Umgebunden zu vereinfachen.