Public key auth auf VMWare ESXi 4

Ich nutze sehr gerne SSH Scripte um Aktionen auf unseren Servern auszuführen.

Jedoch ist dafür ein Zugang ohne Passwort nötig, der ESXi 4 Server sieht dafür von Haus aus jedoch keine Möglichkeit vor. Nach einem Neustart hat er die Einstellungen vergessen.

Mit einem kleinen Trick kann man ihm es jedoch beibringen. Auf den nächsten Zeilen erfahrt ihr auch wie es geht.

Zuerst muss man natürlich den SSH Dämon auf dem ESXi Server aktivieren. Bitte meldet euch danach gleich per SSH und Passwort auf dem Server an.

Das Homeverzeichnis vom Benutzer root ist nicht wie üblich unter /root zu finden sondern liegt direkt im root des Dateisystems, also / selbst.

Man könnte das Homeverzeichnis von root auch umlegen, dazu muss die Datei /etc/passwd editiert werden. Solltet ihr dies machen so ändert bitte die Pfade bei euch um.

Wir brauchen ein Verzeichnis für die Authkeys. Standardmässig ist dies im .ssh Verzeichnis des Benutzers zu finden. Also erstellen wir für root dieses und erstellen auch gleich eine Datei namens authorized_keys.

mkdir /.ssh
touch /.ssh/authorized_keys
vi /.ssh/authorized_keys

Hier könnt ihr nun die Schlüssel eingeben welchen es erlaubt sein soll sich per AuthKey zu verbinden. Ihr könnt sie aber auch einfach kopieren. Ich nutze auf meinem Debian System immer ssh-copy-id.

Damit der ESXi Server diese Einstellung auch nach einem Systemneustart beibehält kommt nun der anfangs erwähnte Trick zu tragen. Wir erstellen ein kleines Archiv mit unseren Einstellungen und auch noch zusätzlich von den Homeverzeichnissen der Benutzer die einen SSH-Key bekommen sollen. Standardmässig haben die Benutzer die der ESXi erstellt kein Homeverzeichnis, dies muss jedesmal in der /etc/passwd angepasst werden! Wir geben nun folgendes auf der Konsole ein:

tar -C / -czf "/bootbank/home.tgz" /.ssh /home

Danach editieren wir ‚/bootbank/boot.cfg‘ und fügen den Parameter „— home.tgz“

vi /bootbank/boot.cfg

Die Datei ‚/bootbank/boot.cfg‘ sollte dann ungefähr so aussehen:


kernelopt=
modules=vmk.gz — sys.vgz — cim.vgz — oem.tgz — license.tgz — mod.tgz — home.tgz
build=4.0.0-208167
updated=1
bootstate=0

Bitte beachtet, das wenn ihr neue Schlüssel hinzufügt oder neue Benutzer einen SSH-Key erhalten, ihr das home.tgz neu erstellen müsst!!!

 

2 Gedanken zu “Public key auth auf VMWare ESXi 4

Schreib einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *