The University and in particular the Computer Science department go to great lengths to ensure the accessibility of university resources from remote sites. The computing systems used in MVB and across the university precinct are designed to allow you as students to access and work from these systems remotely.

 

The systems in the MVB upstairs labs primarily consist of Linux machine’s running a version of Cent OS. These machines all run off a central server called snowy. As well as handling most file system requests, snowy can also be used in the same way as any of the Linux lab computers. In this guide we will show you how to access and manipulate files stored in this central repository.

 

SSH is the primary method used to access the Computer Science systems. I will go through how to access each feature of SSH via each of the three major operating systems. All SSH features are supported out of the box by Mac and Linux platforms. Windows can be made to connect via SSH and related features however requires third party software to do this.

 

SSH (Mac/Linux)
To SSH into snowy you must first open a Terminal window. In Linux this may alternatively be called a Console.
Once You have opened a Terminal window, to connect to snowy you should type the command:
ssh username@snowy.cs.bris.ac.uk
replacing username with your university username. Once connected this way you can run commands through this terminal as if you were on a Linux Lab terminal.

 

SSH (Windows)

Putty is a drop in solution for windows users. Head over to the downloads page for the latest release. It’s very straight forward and the settings required are:

Hostname: snowy.cs.bris.ac.uk

Username: University username

Password: University password

Port: 22

 

Getting a graphical environment (Mac/Linux)

NOTE: Use sparingly.

As well as a text based environment which can be used for 90% of the coursework, the university systems also support X forwarding. X forwarding allows you to use individual applications or the whole graphical Linux desktop remotely. This can be useful for some coursework’s which involve using specialist software which cannot be installed locally. (e.g. Matlab or Modelsim). This method is reserved only for situations where the Terminal cannot be used. (This method is a lot more resource hungry and  consideration for fellow students is encouraged) As this method uses more resources it is often preferable to SSH to an internal lab computer rather than using this directly on snowy. Each lab computer is named after a capital city. To check usage of a system before using this method type:

ssh username@terminal.cs.bris.ac.uk 'uptime'

Where username is your university username, terminal is the desired terminal (e.g. snowy, paris or london). This will give you basic information on that terminal’s current usage and number of connected students. Once you are sure that it is okay to initiate a graphical session with a host, use the following command to begin a remote X session.

ssh username@terminal.cs.bris.ac.uk -X

Once connected in this manner, programs can be launched using their command name. (e.g nautilus for the file manager, or gnome-panel for the standard graphical program launchers). When you are finished with a program make sure to close it by exiting regularly or pressingctrl-c from terminal. This will terminate the program you have launched.

 

Getting a graphical environment (Windows)

X forwarding as described above in the Graphical environment section for mac and linux is also supported through windows albeit through a third party. Nomachine’s NX client allows for a remote graphical session from snowy on windows machines. It can be downloaded from here.

The steps required are the same as for mac/linux however are achieved through a graphical program.

 

Copying Files To/From Linux terminals

As SSH is installed on the lab machines, two options are available for file transfer, these are scp or SFTP. Scp is generally more suited to one or two files or a whole folder however SFTP is more useful for more complex file transfers (e.g multiple files, in different folders).

 

scp (Mac/Linux)

Scp works in the same way as the standard cp command in Linux however it allows for connecting to remote hosts.

Copying file to host:

scp SourceFile user@host:directory/TargetFile

e.g to copy a file main.c form my home directory on my local computer to my home directory in the Linux labs:

"scp ~/main.c tm0797@snowy.cs.bris.ac.uk:~/"

Copying file from host:

scp user@host:directory/TargetFile SourceFile

 e.g. to copy a file main.c from my home directory in Linux Labs to my home directory on my local computer:

"scp tm0797@snowy.cs.bris.ac.uk:~/main.c ~/"

 

SFTP (Windows/Mac/Linux)

SFTP abstracts the process of issuing scp commands and is much easier for beginners. I recommend downloading a program called Filezilla, It’s available for free on Mac, Linux and Windows. (I would like to point out that any SFTP client will work just as well). This program should be pretty self explanatry however the information you will need to know:

Hostname: snowy.cs.bris.ac.uk

Username: University username

Password: University password

Port: 22

 

SSH Passwordless entry (Mac/Linux)

After a while, undoubtedly you’ll begin to get irritated by having to enter your password to login to snowy. Here’s a handy shortcut to avoid this repetitive task. All the following commands are issued on your local machine.

1. Generate an ssh key on your local machine names id_rsa.pub

ssh-keygen -t rsa

2. create a ssh directory on snowy

ssh username@snowy.cs.bris.ac.uk 'mkdir -p .ssh'

3. Append your ssh key to the ssh file in snowy.

cat ~/.ssh/id_rsa.pub | ssh username@snowy.cs.bris.ac.uk 'cat >> .ssh/authorized_keys'

Happy Coding!