Tips and Tricks : Uploading ISO images to a VMware ESXi server without using vSphere (too much)

ESXi is a great solution for hosting a bunch of servers of a single physical box, especially as there is a free version. However, there is one downside – you need ISO images to install the VMs and these take a real long time to upload to the datastore if you’re connected remotely using the vSphere client over an ADSL connection. For example, the install ISO for CentOS 6.4 is about 750MB – that’s a lot of uploading when your ADSL outgoing speed is only 1Mbps…

Luckily, there is a way round this – you can enable SSH (a.k.a. “Technical Support Mode”) and use it to login to the ESXi host and then ‘wget’ ISOs directly to the datastore. Unfortunately, SSH access uses the same IP address as the one used for vSphere and this is often (quite sensibly) firewalled by your hosting company and SSH access is not possible. So, that’s it then – back to slow uploads using theĀ  vSphere datastore browser!

But not quite – there is a work-round which can be used:

  1. Create a new network switch (vSwitch) with a VMkernel port and Virtual Machine Port Group;
  2. Give the VMkernel port a private IP (e.g.;
  3. Configure a VM on the ESXi host with a network interface connected to the Virtual Machine Port Group of the new vSwitch;
  4. Use vSphere to upload a small LiveCD (such as the 50MB one for DSL);
  5. Boot the new VM using the ISO.

When it’s up, you can use the vSphere console of the VM to SSH into the VMkernel port and ‘wget’ the installation ISOs you need.