Remote Access the best way (Anatomy of a p'own part 3)
I've written before, perhaps ad nauseum, about accessing a remote Ubuntu machine. I've also been burned with the lack of security in the out of the box solution that comes with Ubuntu. I've since heard of another product that does the job a great job providing secured remote access. It's called FreeNX.
The great thing about the FreeNX product is that it is the closest thing to RDP for Linux. The reason is because it just doesn't pipe what is on the screen across a connection, it actually understands the xwindows system and emulates it (sort of) while sending it compressed and encrypted over a connection. The other bonus is that it is super quick compared to piping VNC over SSH. Two small drawbacks:
- the software is based on an unfree software package created by NoMachine, so karmically it's not FOSS in the strictest definition
- the client installed on the remote computer needs to be installed, ie no portable app version
Setting it up
Client Machine
To get the software installed on the machine you want to connect to is fairly easy under Ubuntu 9.10. You just need to add a respository and run a few apt lines:
sudo add-apt-repository ppa:freenx-team sudo apt-get install python-software-properties sudo apt-get update sudo apt-get install freenx sudo /usr/lin/nx/nxsetup --install
The last command will setup the FreeNX service and have it run on startup.
Now the machine will be listening on its SSH port for a connection.
Remote Machine
At this point you just need to install the viewer. If your remote machine runs Ubuntu there is a dead simple version available via aptitude called QTNX (sudo apt-get install qtnx) or you can install the official client from NoMachine. Versions for all major operating systems are available. Here we are looking at the client on a Windows machine.
Run the NX Connection Wizard and create a session for your home machine:
'Session' is the name and can be anything. 'Host' is the IP address or domain name of your home computer. Easily found by running WhatIsMyIP on your home computer. 'Port' is the port number that ssh is running on on your remote machine. Remember to set forwarding on your Router/Firewall to push the traffic to the appropriate machine. Slide the bar to set how much bandwidth you'll use, then click 'Next'.
If you're using the regular Ubuntu you can switch it to 'Unix' and 'Gnome'. Then hit 'Next'. You should now be ready to connect:
Use the credentials of the user on your machine at home. Once it connects you'll notice immediately how much faster it runs. One catch though, this will start a new session on your home machine. So this means that you won't see the desktop of your already running session but a fresh one.
Mmmm, fast remote access Linux
Further Reading:
