Zum Inhalt springen

SSH: Anmeldung mit Schlüsseln ohne Passwort

Anmeldung an einem ESXi via SSH, ohne ein Passwort eingeben zu müssen. Ganz nützlich, um z. Bsp. die Services auf dem ESX zu rebooten – siehe hier ; oder Backups von VMs auf einem ESXi zu machen, dargestellt hier.

Getest hab’ ich das auf ESXi 4.1, installiert auf einem USB-Stick und einem CentOS 6.

[root@xyz ~]# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory ‘/root/.ssh’.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.

Den Inhalt der Datei /root/.ssh/id_rsa.pub kopieren wir auf dem Zielsystem in die Datei /.ssh/authorized_keys

Wenn das Zielsystem ein ESXi ist, müssen die entsprechenden Ordner erst angelegt werden:

mkdir /.ssh
touch /.ssh/authorized_keys
chmod 600 /.ssh
chmod 600 /.ssh/authorized_keys

Da das Dateisystem bei jedem Boot des ESXi “resetet” wird, muss der Ordner in die “oem.tgz”:

tar c – /.ssh | gzip > /bootbank/oem.tgz

UPDATE:
Den 4.1er auf 5.1 upgedated und schon klappt die Anmeldung mit SSH-Schlüsseln nicht mehr….
Das liegt daran, dass die Datei mit dem öffentlichen SSH-Key nun unter “/etc/ssh/keys-root/authorized_keys” liegt. Kurz dahin verschoben und der Login mit Schlüsseln geht wieder.