VNC is a family of Remote Framebuffer tools for viewing and controlling a graphical desktop remotely. Before following any connection instructions, identify which of two different systems you actually have: a provider-supplied virtual-machine console, or a VNC server that you installed inside the guest operating system. They can both use a browser or VNC viewer, but they have different availability, credentials, security boundaries, and recovery value.
Start by identifying the access path
Do not assume that a VPS includes VNC, noVNC, a browser console, rescue media, or direct external VNC access. Check the current documentation for your provider and server first. This guide is provider-neutral and does not state that Virtarix supplies any of those features.
| Access path | What supplies the screen | Useful when | Main limitation |
|---|---|---|---|
| Provider virtual-machine console | The hosting platform exposes the virtual display and input path | Guest networking or SSH is broken; boot output may be visible | Availability, authentication, session controls, and pre-boot coverage depend on the provider |
| Guest VNC server plus noVNC gateway | Software running inside the guest exports a desktop; noVNC displays it in a browser | A graphical session is already configured and reachable | Usually stops helping when the guest, VNC service, or relevant network path fails |
| Guest VNC server plus desktop viewer | Software running inside the guest exports a desktop to a local client such as TigerVNC Viewer | A maintained client and protected connection path are available | Requires guest configuration and must not be exposed carelessly to the public internet |
The noVNC project describes itself as an HTML VNC client. It still needs a VNC server and a WebSocket-to-TCP path such as websockify or an equivalent provider gateway. TigerVNC includes both server and viewer components. A browser is therefore a client choice, not proof that the connection is out-of-band or independent of the guest.
When VNC is the right tool
Use a provider console, when one is documented, to investigate guest-network or SSH failures and to observe whatever boot stages that console actually exposes. Use a guest VNC server when you deliberately need a graphical desktop that the guest is healthy enough to run.
For routine Linux administration, prefer SSH with key-based authentication. For Windows administration, use the remote-access method that matches your system design and current vendor guidance. VNC should solve a named graphical or recovery need, not become an undocumented permanent management port.
VNC also does not replace provider recovery tooling. If the guest cannot boot the VNC service, a guest-installed VNC path is unavailable. Pre-boot firmware access, rescue media, serial console, or virtual-machine console availability must be confirmed with the provider rather than inferred from the word “VNC.”
Browser-based noVNC workflow
Follow this workflow only when your provider or your own deployment documents a noVNC URL or console button.
- Confirm who operates the gateway: your provider, your team, or another authorized party.
- Verify the exact sign-in method, multifactor-authentication support, session expiry, audit trail, and TLS hostname before entering credentials.
- Open the console from the documented portal or URL. Do not use a link from an unsolicited message.
- Confirm the server identity from the console state before typing a password or issuing a command.
- If the console exposes special keys, use its documented control for sequences such as
Ctrl+Alt+Deleterather than assuming the local keyboard shortcut will be forwarded. - Complete the minimum required task, sign out of the guest session, disconnect the console, and close the browser tab.
Browser behavior varies. Keyboard layout, clipboard, pointer capture, touch controls, special-key delivery, scaling, and latency must be tested on the actual browser and gateway. Do not promise that every browser or mobile device will behave the same way.
What noVNC does not establish
An HTTPS page protects the browser-to-gateway connection only when TLS is correctly configured and trusted. The security of the complete path also depends on gateway authentication, authorization, WebSocket handling, the gateway-to-VNC-server link, session isolation, logging, and software updates. The presence of noVNC does not by itself prove that the session is encrypted end to end, out-of-band, or safer than another access method.
TigerVNC viewer through an SSH tunnel
Use a desktop viewer only when an authorized VNC server exists and you control a protected route to it. The safer default for a guest-installed Linux VNC server is to listen on loopback and reach it through an SSH local-forwarding tunnel. Do not publish TCP 5900 to the internet as the default design.
Download TigerVNC from its official release page or a trusted operating-system package source. Confirm the current supported platform and package before installation; release filenames and distribution packages change.
Information you need
- the SSH host, port, and authorized user;
- the loopback address and TCP port on which the VNC server listens;
- the local TCP port you will reserve for the tunnel;
- the VNC authentication method and separate guest-login credentials, if required; and
- a recovery path in case changing the listener or firewall blocks access.
VNC display numbers and TCP ports are related by convention, but client notation differs. In TigerVNC, host:1 denotes display 1 while host::5901 denotes TCP port 5901. Use the exact syntax documented by the current client instead of assuming IP:port is interpreted uniformly.
Create and test the tunnel
The following example assumes the VNC server is already configured to listen only on the server's loopback interface at TCP 5901. It does not install or expose a VNC server.
ssh -N -L 5901:127.0.0.1:5901 admin@server.example
Keep that SSH process open. In TigerVNC Viewer, connect to 127.0.0.1::5901. If local port 5901 is already in use, choose another unused local port and change only the first port in -L, for example -L 15901:127.0.0.1:5901, then connect the viewer to 127.0.0.1::15901.
Before relying on this path:
- test SSH access in a separate session;
- confirm the VNC server is bound to loopback rather than every interface;
- verify the tunnel fails closed when the SSH session ends;
- check keyboard, clipboard, scaling, and reconnect behavior; and
- record how to stop or disable the guest VNC service when it is no longer required.
Logging into the guest desktop
VNC authentication and guest operating-system authentication may be separate steps. A successful connection to the VNC server does not mean you are logged into Linux or Windows.
Use a named administrative account where the operating system and recovery design support one. Avoid teaching root as the universal interactive-login default. Never assume that a provider control panel will reset a guest password, email a replacement, or expose a particular menu; follow the provider's current documented recovery path.
Test the local and remote keyboard layouts before entering a sensitive password. If the client offers clipboard transfer, decide whether it is appropriate for secrets and disable it when the risk outweighs the convenience.