While setting up ESXi 5 on my new HP ML115 G5 server I needed to migrate some guest VMs from another ESXi host I have. I found a couple of online blog posts about how to enable the ESXi shell and SSH services for the two hosts, but I was still unable to ssh from one host to another, repeatedly getting connection timeouts.
I could reliably SSH to both ESXi hosts from other places, just not from the hosts themselves. I also could not SSH to other hosts from either of the ESXi hosts – so this strongly suggested a firewall type issue.
It wasn’t until I checked the Firewall settings in the vSphere client under Configuration -> Security Profile that I realised that SSH Server and SSH Client have separate firewall controls for inbound and outbound SSH connections. The SSH Server option (i.e. for inbound connections) was enabled but not the SSH Client option. As soon as I enabled the client option I was then able to establish SSH client connections from my ESXi hosts.