Howto: Remote-Shell auf ESXi-Server aktivieren

ESXi Server haben kein vollwertiges Betriebssystem, bieten aber einige wenige Kommandos, mit denen man die Gastsysteme zur Not auch via SSH verwalten kann. Dafür muss jedoch der sogenannte Tech Support Mode erst einmal aktiviert werden.

18. Sep 2012 09:10

Der VMware ESXi ist ein sogenannter "Bare Metal Hypervisor", wobei hier die Betonung auf "Hypervisor" liegt, denn ein Betriebssystem im gewöhnlichen Sinne findet man nicht. Die hosteigenen Verwaltungstools beschränken sich auf ein nur lokal bedienbares minimalistisches "Direct Console User Interface" DCUI, in dem sich kaum mehr als die Netzwerkanbindung einstellen lässt.

Der Konsolenzugriff, d.h. der Zugriff auf die Kommandozeile des zugrunde liegenden Betriebssystems, als "Tech Support Mode" bezeichnet, soll nur auf Anfrage des VMware Technical Support genutzt werden und ist ebenfalls nicht zur vollständigen Verwaltung des ESXi geeignet.

Diese erfolgt (eigentlich sehr komfortabel) komplett über einen Remote-Client (vSphere Client), der nicht auf dem Host installiert ist (und auch nicht dort nach-installiert werden kann). Dennoch ist es in wenigen Notfällen sinnvoll, Zugriff auf den Tech Support Mode zu bekommen.

Auf ESXi Hosts vor Version 4.1 war der Tech Support Mode versteckt:

# am Hostsystem auf der Tastatur Alt+F1 drücken
# auf der Tastatur das Wort "unsupported" eingeben
# das root-Passwort eingeben
# der Startbildschirm erscheint


Ab ESXi Version 4.1 kann er etwas bequemer über das DCUI unter Troubleshooting Options aktiviert werden. Danach kann man sich mit Alt+F1 im Tech Support Mode linuxüblich anmelden.

Der Tech Support Mode ist ein Mini-Linux mit Busybox. Obwohl damit kaum mehr Möglichkeiten zur Verwaltung eines ESXi zur Verfügung stehen, als mit dem DCUI, bietet er aber den Vorteil, dass man ihn mit SSH auch über Remoteverbindungen verwenden kann.

Dazu muss der SSH-Zugriff aktiviert werden:

# den ssh-dienst einschalten
# dazu in inetd.conf das kommentar-
# zeichen "#" vor "ssh stream tcp..." entfernen
vi /etc/inetd.conf
# anschliessend den dienst starten
# inetd mit kill beenden und neu aufrufen
ps | grep inetd
# 3831 3831 busybox inetd
kill 3831
inetd
ps | grep inetd
# 15299 15299 busybox inetd


Anschliessend ist das Hostsystem auch nach einem Neustart des ESXi via SSH für Notfälle erreichbar. Die Möglichkeiten, die sich daraus ergeben, sind allerdings mehr als begrenzt, was auch erklärt, weshalb die meisten Anleitungen an dieser Stelle abbrechen.

 
π