VMware ESXi – How to enable SSH Connectivity.

To enable SSH on VMware ESXi you need to enter an ‘unsupported’ mode.  For background information on this mode and why the Service Console (SC) that you are probably familiar with from ESX (ie: non ESXi) is by default missing see my other article here.

Enabling SSH is straight forward -  just follow these 8 basic steps:

Step 1. Connect to ESXi console and press the Alt+F1 key combination.

VMware ESXi SSH

Step 2. Type ‘unsupported’ and then press <Enter>. Note that nothing will appear on the screen whilst you type this.

VMware ESXi SSH 

Step 3.  When prompted enter in the ‘Root’ password and press <Enter>.

VMware ESXi SSH

Step 4. You will now be presented with a prompt on the console. From this prompt type ‘vi /etc/inetd.conf’

VMware ESXi SSH

Step 5. vi (the file editor) has now opened the inetd.conf file.  Using the direction arrows scroll through the lines until you reach the line that has ‘#ssh’ and remove the hash (ie: #).  This is effectively un-commenting this line so that the ssh service can be started.

VMware ESXi SSH

Step 6. Now that you have made this minor file you want to save this change and exit out of the editor (vi).  To do this press the ESC key (to put vi back into Command Mode) and then type ‘:wq’  *Note: If you want to exit without saving any changes to the file then just press the ESC key (Command Mode) and then type ‘:q!’.

Step 7.  With the SSH service now un-commented from this file we want to restart the ‘inetd’ process so that it starts again and reads in the newly altered file which will tell it to start the SSH service. 

This is the part of the enabling SSH that has changed between minor revisions of ESXi as pre-ESXi Update 2 you would run the command ‘/sbin/services.sh restart’  though for any release of ESXi Update 2 and more recent we have effectively kill the ‘inetd’ process to make it automatically restart again.

To do this we first need to find out what the process ID is of ‘inetd’.  From the console command prompt type ‘ps | grep inetd’ which will give you a result similar to the following.

VMware ESXi SSH

Step 8. From running this command we can see that the process ID for ‘inetd’ is 1331.  Now type ‘kill –HUP <insert process ID>’ where <insert process ID> is the process ID seen in the previous step.

Finished!  Congratulations – you should now be able to connect to your ESXi server via a SSH client such as Putty.

 

Technorati Tags: ,,,,,

18 Comments

    • ESX supports snmp, the free edition of ESXi does not (not even unsupported). u need to get a licensed ESXi for this to work

  1. SSH hack WAS possible with esxi 4.0 but the ssh functionality disappeared with the upgrade to 4.1.

    after a new installation of 4.1 I’ve tried this hack again, but it’s not working anymore.

    is there an other way?

  2. I used vClient: ESXi(4.1) Host – configuration – Software – Security profile – properties – SSH should be running. You can use putty!

Leave a Reply

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.