ESXi: SSH Authentication per Public Key
Advertisement
SSH auf einem VMware ESXi-Server zu aktivieren ist inzwischen sehr einfach. Leider kommt man damit alleine noch nicht sonderlich weit, da eine Authentisierung per Public Key im abgespeckten ESXi nicht ohne einige kleinere Konfigurationen funktioniert. Um also eine Public Key Authentication auf einem ESXi zu aktivieren, geht wie folgt vor:
- Erstellt einen .ssh-Ordner im Root Verzeichnis
- In diesem Ordner brauchen wir eine Datei authorized_keys mit exklusiven Rootrechten.
- In der eben erstellten authorized_keys könnt ihr nun eure Public Keys einfügen.
Damit wäre ein SSH mit Pubkey Authentication grundsätzlich schon lauffähig, allerdings würde diese Konfiguration einen Neustart nicht überleben, da der ESXi das System beim Neustart auf einen ihn bekanntem Status zurücksetzt.
Um dies zu verhindern, müssen wir den eben angelegten Ordner und die darin befindliche Datei in diesen Status integrieren.
- Dazu komprimieren wir den .ssh-Ordner und seinen Inhalt zu einem tgz und packen es in den /bootbank-Ordner, aus dem der ESXi seine Einstellungen zurückspielt.
- Anschließend editieren wir die boot.cfg in diesem Ordner und fügen die ssh.tgz als letzten Parameter unter dem Punkt Modules ein. Beachtet dabei, dass jeder Paramter mit drei Bindestrichen getrennt wird.
- Die boot.cfg sollte anschließend ungefähr so aussehen:
Ich habe zusätzlich noch eine rsync.tgz eingebunden.
Jetzt funktioniert eine Pubkey Authentisierung auch nach dem Neustart noch. Allerdings müsst ihr jedes Mal, wenn ihr die authorized_keys-Datei verändert - etwa um einen neuen Schlüssel hinzuzufügen oder einen alten zu entfernen, die ssh.tgz neu erstellen, da die Änderungen sonst nach einem Neustart verloren gehen.