Easily obtaining a versatile Terminal- and VMWare-Server with VNC and ssh

From openSUSE

Topic

A VNC-Server has a fantastic feature when run under Linux in contrast to Windows or MAC. It spawns a NEW X-Server, i.e. creates a NEW Desktop for each connected user !

So, while it is still possible to just publish Your own desktop You can instantaneously establish a fully valid Terminal-Server by just running an VNC-Server on a 32-Bit or 64-Bit-platform like OpenSuSE.

Only enabling ssh-connections with private-keys You can establish a perfectly secure environment, where authorized users can simply tunnel all required ports and automatically get all the necessary routing as a side-effect.

In addition You could for example install just a single license of VMWare-Workstation, that can be used by a multitude of remotely logged in users (just by creating linked-clones of VMWare-Images on the Server and using them via a single VNC-connection or a VPN).

While having written an-in-depth-tutorial for an IT-department I work for, You basically just need to

  • install 32-/64-Bit-Linux (works on both alike).
  • recommended: remove all shipped vnc/rdp-programs and libraries and instead install REAL-VNC-(Enterprise)
  • configure ssh/private-Key-authentication for all intended users and open the firewall just for port 22
  • open a ssh-connection to the server tunneling the necessary vnc-Port (give each user a different port)
  • launch an individual desktop with (for instance)
    • vncserver :7
  • connect to Your new desktop through the tunnel an do whatever You want (and are allowed ;-) on the server .....

If You want to establish a VMWare-Server (not the equally named product, but a server for VMWare-Workstation or likewise products)

  • install a single license
  • install the necessary VMWare-Images
  • have each user make a linked-clone of the desired master-image
  • enable the built-in-VNC-Server of the cloned virtual machine (with a user-specific-port)
  • have the user connect directly to his (cloned) virtual machine through the original ssh-tunnel

Example for tunnel-call (under Linux, works under Windows/MAC likewise, but of course with a GUI ;-), provided You have launched desktop 7 (-> Port 5907) and configured Your VMWare-VNC-Server on port 6907)

ssh -i id_dsa -p 9743 -L6900:localhost:5907 -L6901:localhost:6907 user@terminalserver.mydomain

Without modifying any furhter firewall-settings Users can now tunnel everything they need and remotely work with a linked clone as if it was installed as the original operating system on their connecting notebook/pc with just one single license and almost no overhead due to linked-clones on the server itself. Likewise You can provide a whole department with a fully valid terminal-server for each and every other purpose.

  • In case of RealVNC though You have to buy a VNC-License for each concurrently running desktop. Just try, whether other products meet Your requirements.

In addtion every user can publish their own desktop to others (for team-working between different countries, towns etc.) and You got a fully-featured Terminal-Server running on a single, cheap machine just under a desk in a cubicle.

All of that is only provided by Linux/Unix .... :-)

External links