VMware
Accessing your VMware desktop hypervisors
Introduction
XPipe supports connecting to and managing your VMware VMs running in VMware Player, VMware Workstation, and VMware Fusion. For that it uses the vmrun
command-line tool included in these VMware installations. Adding the host system as a connection to XPipe, usually via SSH, and then searching for available connections on the added system will make VMware VMs show up.
Connecting to VMs
To successfully establish a shell connection to a guest VM, two main things need to be working:
- The VM has to be able to advertise its IP via the VMware tools/open-vm-tools
- An SSH server must be available on the system as XPipe uses SSH to connect to the VM
Guest agent
The open-vm-tools package should be installed in the guest VM to allow an outside hypervisor to exchange information with the guest VM. Without it, the hypervisor has no access to the current state of the VM. Having this state access is necessary to determine the IP address to use for SSH and to run shell commands from the outside within the guest VM.
You should make sure that the guest agent is installed and running on a system. For installation instructions, see here. The guest agent daemon takes a few seconds to start up and initialize, so you might have to wait a few seconds after a VM is started before you can successfully connect to it in XPipe.
Networking
The same applies to the networking stack, it takes a few seconds to initialize all the network interfaces and to obtain an IP. If VMware is unable to tell the guest VM IP address, XPipe will throw an error. In this case, the networking is not initialized yet, or you are running some kind of custom networking or firewall setup.
If you are using a custom networking setup or firewall, the automatic IP detection might fail. See the custom networking section for handling this configuration.
SSH server
The actual shell connections to a guest VM are then established using SSH. This means that you need to have an SSH server installed and configured in the guest so that you can log in as your user with whatever authentication method you prefer. XPipe uses the VMware host system as an SSH gateway, meaning that your guest VM does not have to be reachable from the outside on the SSH port. It will fully work only using internal networking.
The SSH server in the guest does not have to be running, XPipe is able to start it automatically from the outside using the guest agent exec functionality. It should, however, be properly configured to allow for a login.
For a proper setup of an SSH server to be used with XPipe, including on systems like Windows guests, see .
Custom networking
To have increased control over the networking of the host and guest systems and to increase security, you can configure a more custom networking setup for the VMware host. This might be something like using an additional firewall like pfSense or opnSense. In these cases, the automatic detection of the guest VM IP address via the guest agent might not always work out and the connection will fail as XPipe is using the wrong IP.
For advanced cases like this, XPipe gives you the option to specify a custom IP address for a VM entry. That way, no automatic IP detection is run, and only that fixed IP address is used for the SSH connection. This IP address should be the one that can be used to reach the VM from within the VMware host system.
This should fix any connection issues, assuming that everything else is properly configured.