EE Computing Lab Remote Access
In order to access the labs remotely, you'll make use of a VNC client and an SSH client. TigerVNC is a VNC client that works on Windows, Mac OS X, and Linux. SSH clients are normally installed by default in Mac OS X and Linux. On Windows, two options are PuTTY and MobaXterm.
The machines remote01.ee.columbia.edu and remote02.ee.columbia.edu are workstations that have a VNC server installed on them. You'll need to start a VNC session on one of those workstations. In order to do so, ssh into one of those machines and run the command 'vncserver'. The first time you run the command, it will prompt you to create a password. The particular password you choose is not crucial, but you'll need it at a later step. The command will indicate that it has created a new desktop. You'll need to take note of the number after the colon. That number affects what port the VNC server is available on. You can now end this initial SSH session.
Because VNC doesn't have good security built into it, you'll use SSH to tunnel the traffic to the VNC server. If you connected to remote02, your desktop number from before was 3, and your UNI was aa9999 you could run a command like the following from a local terminal:
ssh -C -L 5910:localhost:5903 email@example.com
Then, while that connection is open, you can connect a VNC client on your local computer to localhost:5910. You're welcome to choose any open port instead of 5910. It just has to be the same port that you forward to the machine running the VNC server using SSH. At that point you'll be prompted for the password you created earlier, which should let you connect to the persistent desktop being run by the VNC server. You can ignore warnings about security here because you're tunneling the traffic over SSH.
If you disconnect without logging out, the desktop will stick around. If you log out, you'll need to start a new instance of vncserver before connecting again. The command 'vncserver -list' run on remote01 or remote02 will show you any existing sessions you have running on that machine. You can create an instance with a particular desktop number by passing that as a parameter when you start vncserver. You could run, for example:
Then the connection you create for your tunnel would use a command such as:
ssh -C -L 5910:localhost:5912 firstname.lastname@example.org
MobaXterm also has a feature for saving tunnels, and PuTTY can remember your sessions including the particular port being forwarded. One advantage of selecting a particular desktop number when you create the VNC server instance is that you can always use the same port for the tunnel.
In any case, if you still have an existing VNC server instance running, you can just create the appropriate tunnel and then connect the VNC client. New server instances only need to be started after logging out. In general, though, it's good to actually log out of your sessions if you're not trying to save progress of some particular piece of work. Programs that you leave open can cause problematic behavior when you're logged in at another machine since your home directory is shared across all the workstations.