Install VNC Server on Windows Machine

Download TightVNC which is free VNC server that support Windows 11 and then install TightVNC on Windows machine.

TightVNC Configuration on Windows Machine

  1. Click on Register TightVNC Service
  2. Click on TightVNC Service - Offline Configuration
    • From tab Server
      • Check Require VNC Authentication and set password
      • Uncheck Enable file transfers
      • Uncheck Hide desktop wallpaper
      • Uncheck Serve Java Viewer to Web clients
    • From tab Access Control
      • Check Allow loopback connections
      • Check Allow only loopback connections
    • From tab Administration
      • Check Protect control operations with a password
    • Save the confguration
  3. Click on Start TightVNC Service

Configure OpenSSH Server

Install OpenSSH server following these instructions and configure sshd with these instructions e.g. set port to 2222.

Key Based Authentication

Execute following command in remote machine and copy the content of id_ed25519.pub to the ~/.ssh/authorized_keys of Windows machine. If you face permission issue try this workaround.

ssh-keygen -t ed25519

Port Forward for SSH Server

Follow these instructions to expose port 2222 to the Internet.

Connect from Remote Machine

Download TightVNC Java Viewer, unzip and open jar. Execute SSH port forwarding to TightVNC ssh -N -L 5900:localhost:5900 <your Windows user name>@<your public domain name> -p <SSH port> -vv. Introduce localhost on Remote Host text box, 5900 on Port text box of TightVNC Java Viewer and click Connect, introduce access password, got it!

Reference