How to Access Your Workstation from Anywhere With noVNC

Where I work has a extremely restrictive network that blocks most outbound protocols besides HTTP and HTTPS. I have been struggling to gain remote access to my machines within my work’s LAN. For my Windows machines I use TeamViewer but I was struggling to access my Linux machines. For command line access I first turned to dataplicity which gives you a web interface for your command line. As far as I know dataplicity only works for Debian.

I also wanted VNC access to my machine but I was struggling to figure out how. I eventually found noVNC, a HTML5 VNC client that works in the web browser. I downloaded the git repository

git clone https://github.com/novnc/noVNC.git

and ran the following command from the downloaded repository

./utils/launch.sh --vnc localhost:5901

This started a web server and WebSockets proxy on port 6080. On my firewall I forwarded port 80 to port 6080 on the IP of my target. Now I have VNC access through the web and can access my machine via a web browser.

Lastly I added the command lines to the crontab

sudo crontab -e

@reboot vncserver -geometry 1440x900 -depth 24

@reboot sh /home/noVNC/utils/launch.sh --vnc localhost:5901

Saved the changes and rebooted my machine to test. I can now access my machine anywhere from a web browser!