Gaining SSH Access To VMWare ESXi

*UPDATE* If you’re using ESXi 4.1 you no longer are required to manually enable SSH. You can do this via the “Troubleshooting” menu. More instructions here kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1017910

I was trying to get access to VMWare ESXi as this is the only way to access the images for each Virtual Machine as snapshots seem to have messed up an Exchange install. I will go into more depth below. But first, the following steps are required to open up SSH access to your ESXi Machine.

ESXi 3.5 does ship with the ability to run SSH, but this is disabled by default (and is not supported). If you just need to access the console of ESXi, then you only need to perform steps 1 – 3.

1) At the console of the ESXi host, press ALT-F1 to access the console window.
2) Enter unsupported in the console and then press Enter. You will not see the text you type in.
3) If you typed in unsupported correctly, you will see the Tech Support Mode warning and a password prompt. Enter the password for the root login.
4) You should then see the prompt of ~ #. Edit the file inetd.conf (enter the command vi /etc/inetd.conf).
5) Find the line that begins with #ssh and remove the #. Then save the file. If you’re new to using vi, then move the cursor down to #ssh line and then press the Insert key. Move the cursor over one space and then hit backspace to delete the #. Then press ESC and type in :wq to save the file and exit vi. If you make a mistake, you can press the ESC key and then type it :q! to quit vi without saving the file.
6) Once you’ve closed the vi editor, run the command /sbin/services.sh restart to restart the management services. You’ll now be able to connect to the ESXi host with a SSH client.

Update for ESXi 3.5 Update 2 – With Update 2 the service.sh command no longer restarts the inetd process which enables SSH access. You can either restart your host or run ps | grep inetd to determine the process ID for the inetd process. The output of the command will be something like 1299 1299 busybox      inetd, and the process ID is 1299. Then run kill -HUP <process_id> (kill -HUP 1299 in this example) and you’ll then be able to access the host via SSH.

Credit to the above steps go out to vm-help.com and you can read the above steps and comments on thier site.

The main reason why I required this, is the snapshots provided with VMWare work great. But I had to re-install exchange becuase of a configuration change that couldn’t be reversed. I had created a Active Directory Child Domain on an existing Domain, and then had setup Exchange 2007. But in the long run, this wasn’t required, instead I wanted to use our existing Domain. Removing the new Child Domain and deleting the Domain Controller/Demoting woudl have caused issues with Exchange.

So I decided to use ESXi Snapshot Manager to revert back to when I created a Snapshot after install Windows Server 2003, as it was a clean install. Once I did then and then went on to install Exchange again. Exchange Setup had complained that the server’s role was already installed and setup. Which was not the case, so I don’t know what really happened, either way. I’m going to make backups through SSH from now on.

This entry was posted in Unsorted and tagged , , , , . Bookmark the permalink.

7 Responses to Gaining SSH Access To VMWare ESXi

  1. Pingback: HowTo Clone a Virtual Machine On VMWare’s free ESXi | GeekTank

  2. Sebastien says:

    Hi,

    Ive been trying this for about 3 days and Im still not able to connect myself with ssh client from another workstation…

    I uncomented the line in te inetd.conf but this doesnt seems to work for me….I see that the dropbearmulti is the ssh server, but it doesnt seems to be started even if I reboot or restart the services…..

    PLEASE HELP!!!

    Seb

  3. Jordan says:

    You need to make sure that you restart inetd. Type the following.

    ps | grep inetd

    And it should display this.

    /vmfs/volumes/4991bc35-5ced5b0c-a99e-00221953f98d # ps | grep inetd
    1294 1294 busybox inetd

    Then type “kill -HUP 1294″ or you can restart the vmware host machine, but that will bring down your guest operating systems.

    Cheers,

  4. Chris says:

    I just did this – and rebooting Host (instead of looking for running proc’s – cuz the pipe was not working… Update 5 ESXi arg!) worked fine… now I can SSH in.

    Now… to get Xymon working on that console…. :)

  5. Jordan says:

    I’ve never tried Xymon. I usually stick to nagios, but I’m looking into zabbix at the moment, hard to understand at first but really powerful.

  6. Jaxx says:

    thanks dude works well. did the ssh thing and then cloned the drive. all went fine. Been trying all week before I came across your blog. thanks again

  7. chris richardson says:

    Chris – did you get xymon installed on host?

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>