Guide

How to manage Proxmox, VMware and KVM hosts and VMs from one app

Looking after virtualization hosts usually means a pile of tools: a terminal for each host, a browser tab for each web interface, a Remote Desktop file for every Windows VM, a VNC viewer for the Linux consoles, and a file client for moving ISOs and backups around.

The RemoteAccessApp app for Windows puts all of those connections in one place. It isn't a hypervisor manager and doesn't talk to the Proxmox VE or vSphere APIs: it's one app that holds the consoles and connections for your hosts and VMs, in tabs you can put side by side. This guide sets it up for Proxmox VE, VMware ESXi, QEMU/KVM with libvirt, and Hyper-V.

  • SSH, RDP, VNC and web panels
  • Server-to-server copies
  • Up to 8 panes side by side

Updated · Works on Windows 10 and 11

What goes where

  • The hypervisor hosts (a Proxmox VE node, a KVM server, an ESXi host with SSH turned on, a Hyper-V server with OpenSSH): saved as SSH hosts, for a terminal, files, a live dashboard and scripts.
  • The web interfaces (Proxmox VE on port 8006, the ESXi Host Client, the vSphere Client): saved as web panels, which open in a browser tab inside the app.
  • Windows VMs: saved as RDP hosts.
  • Linux VMs: SSH hosts like any server, and VNC hosts for a graphical console, such as a QEMU/KVM guest whose display libvirt serves over VNC.

Good to know

There are no start, stop or snapshot buttons for VMs in RemoteAccessApp. You do that the way you do now: in the platform's web interface (open in a web panel tab) or with its own commands in an SSH terminal, such as qm on Proxmox VE, virsh with libvirt, vim-cmd on ESXi or Get-VM in PowerShell on Hyper-V.

Guides for each platform

This page covers the setup that's the same everywhere. For the details of one platform, see:

Wondering whether it's worth moving everything into one place? The post one app for your whole homelab walks through Proxmox, VMware and KVM side by side. For jobs beyond the homelab, browse all the remote access guides.

Set up your hosts and VMs

  1. Step 1: Install the app and sign in

    Download RemoteAccessApp for Windows 10 or 11, choose the Console and sign in with a free account. Everything below happens on the Connections page.

  2. Step 2: Make a group for each cluster or site

    Give each host a group, such as Proxmox cluster, ESXi lab or KVM box, and drag hosts between groups as things change. Add tags too, such as prod, backup or windows-vm, to search and filter the whole list. Groups and tags sync to every PC you sign in on.

  3. Step 3: Add each hypervisor host as an SSH host, with a key

    Click Add host, choose SSH, and enter the host's address and user (often root on a Proxmox VE node or an ESXi host). Choose key sign-in: import a key under Keys & passwords, or make one on the website, then put its public half in ~/.ssh/authorized_keys on the host. The SSH keys help has the details.

    The first time you connect, compare the key fingerprint with the one the host shows on its own console before you trust it. See server keys.

  4. Step 4: Save the web interfaces as web panels

    Add a web panel for each web interface, for example https://pve1.lan:8006 for Proxmox VE or the ESXi host's own address for the Host Client. Hypervisors usually ship with a self-signed certificate: the tab asks about it and remembers a certificate you've accepted. Save the user name, and Fill sign-in types it in for you.

  5. Step 5: Add your VMs: RDP for Windows, SSH and VNC for Linux

    Add each Windows VM as an RDP host and each Linux VM as an SSH host. For a graphical console on a QEMU/KVM guest, add a VNC host that goes through the KVM server's SSH host (next section).

The web interfaces: Proxmox VE, the ESXi Host Client and vSphere

A web panel tab is a full browser view inside the app, with back, forward and reload, Fill sign-in, Copy password and Open in browser. When the web interface opens a pop-up window, such as a console, it opens as another tab. Each panel's password can be saved with the host, or typed each time.

The panel opens from the PC you're on, so that PC has to be able to reach the address, just as a browser would.

From outside your network, without port forwarding

Management interfaces belong on your own network, not on the internet, and why you should stop exposing your Proxmox or ESXi web UI explains the reasons. Two ways to reach them when you're away, with no ports opened on your router:

  • SSH from the website, through one of your PCs. Sign in to the website in any browser and open a saved SSH host. For a local address like 192.168.x.x, choose Through my PC: one of your own PCs on that network, running the RemoteAccessApp Agent, opens the connection there. It's free, and the SSH session is encrypted end to end between the website and the host.
  • The web interfaces, through a PC's screen. Open a PC on that network with RemoteAccessApp, from the app or a browser, and use the web interface in that PC's own browser. The PC connects out to our relay, so nothing on your network faces the internet. See remote desktop without port forwarding.

Consoles: RDP into Windows VMs, VNC into QEMU/KVM guests

Windows VMs

RDP hosts open in a tab with the Remote Desktop component built into Windows, with your saved user name and display settings. That covers Windows VMs on any of these platforms, Hyper-V included, once Remote Desktop is turned on inside the VM.

QEMU/KVM guests over VNC

libvirt can serve a VM's display over VNC, and by default it listens only on the KVM server itself. That suits the app's SSH tunnel: the VNC connection goes inside SSH to the server, then to the address and port as the server sees them. On the server, find the VM's display with:

virsh vncdisplay my-vm

An answer of 127.0.0.1:0 means port 5900, :1 means 5901, and so on. Add a VNC host with address 127.0.0.1 and that port, and set it to go through the KVM server's saved SSH host. If the VM's display has a VNC password, the app asks for it.

Why the tunnel

VNC's own security is weak: its password check is old and the screen and keystrokes aren't encrypted. Keep VNC on the server's loopback address and reach it through SSH, rather than opening port 5900 on your network.

Proxmox VE and ESXi have their own consoles built into their web interfaces, so for their VMs use the web panel tab, or RDP and SSH into the guest itself.

Move ISOs and backups between hosts

A transfer tab copies files between two saved hosts directly: each file is read from one and written to the other at the same time, streaming through your PC, and nothing is saved on your own disk. Neither host needs the other's password, and they don't need to reach each other.

  • ISOs: copy an installer ISO into the Proxmox VE ISO folder (/var/lib/vz/template/iso on the local storage) or libvirt's image folder (/var/lib/libvirt/images) on another host. To put the same files on several hosts at once, use Upload to servers….
  • Backups: copy Proxmox VE backups (/var/lib/vz/dump by default) to a backup server with Verify on, which compares SHA-256 checksums where both sides have sha256sum.
  • Moving things: Move deletes each file from the source only once it's safely on the other side, and SFTP copies pick up where they stopped if the connection drops.

On ESXi, files live on datastores under /vmfs/volumes/. If your ESXi host doesn't offer SFTP, upload ISOs with the datastore browser in the Host Client instead. The server-to-server copy guide has the step by step.

Run maintenance on every host at once

Save a script in the SSH terminal's Scripts & History panel (Ctrl+Shift+S), then choose Run on hosts… and tick the hosts, or select all. It runs on up to 8 hosts at a time, with a timeout for each, and shows each host's output and result, with Copy all output and a button to run it again on the ones that failed. A quick check across a cluster might be:

hostname
uptime
df -h /

Each platform has its own commands, so group hosts by platform and keep a script for each: pveversion and qm list on Proxmox VE, virsh list --all with libvirt. For typing into several open terminals at once, turn on Broadcast. More in running scripts on many machines.

For a whole evening of updates, backups and disk checks, work through the homelab maintenance night checklist.

Watch host load on a dashboard

Click Dashboard on an SSH terminal tab for live graphs of the host's CPU, memory, load, disks and network, plus its busiest processes. It reads them over SSH every few seconds with read-only commands, installs nothing and never uses sudo, and only while the tab is on screen. Disks over 90% full are flagged.

It works with Linux, so Proxmox VE nodes and KVM servers, and with Windows servers running OpenSSH with PowerShell, such as a Hyper-V host. It can't read ESXi. If a host or VM runs Docker or Podman, Containers lists them with start, stop, restart, logs and a shell.

See several hosts at once with split view

Tabs on the Connections page can sit side by side in one, two, three, four, six or eight panes: say, the Proxmox VE web interface, two node dashboards and a terminal. Pick a layout from the toolbar or drag a tab into another pane. Ctrl+1 to Ctrl+8 jump between panes and Ctrl+Shift+M makes one fill the page.

Save the layout as a workspace to come back to the same setup, and Open and connect all brings it all back at once. See split view and workspaces. Saved workspaces are one of the workflows that save time when you manage many servers and VMs, next to groups, tags and scripts on many hosts.

Keep it secure

  • Never expose a management interface (Proxmox VE's port 8006, the ESXi Host Client, the vSphere Client) or a VNC port to the internet. Reach them from your own network, or through one of your PCs as above.
  • Sign in to hosts with SSH keys rather than passwords, and check each host's key fingerprint the first time.
  • Turn on two-step verification for your RemoteAccessApp account, and the hypervisor's own two-factor sign-in where it has one.
  • Carry VNC inside SSH. Its own security isn't enough on any network you don't fully trust.
  • Passwords and keys stay encrypted on the PC where you saved them. With Pro, saved passwords can sync, end-to-end encrypted, so we can't read them.
  • If a host sits behind a proxy, set it on the host; SSH stays encrypted through it.

More on that last point in SSH through a SOCKS or HTTP proxy, and on account security on the security page.

Free and Pro

Everything in this guide works on the free plan: SSH, SFTP, RDP, VNC and web panels, server-to-server copies between saved hosts, Run on hosts, the dashboard and split view. The free plan saves up to 5 hosts and web panels together, with 3 open at once. A lab with more than that needs Pro, which allows as many as you like, syncs saved passwords end-to-end encrypted, and adds the MCP Desktop Connection, so an AI assistant can run commands on your saved SSH hosts under the same rules.

Your Windows and Linux PCs can sit in the same app, with remote desktop next to your hosts. See the free homelab management tool for your servers and PCs for the whole picture.

Questions, answered

More homelab and virtualization guides

Related