====== Working on remote computers with SSH ======
The [[http://en.wikipedia.org/wiki/Secure_Shell|Secure Shell]] network protocol allows you to connect to remote computers through a an encrypted channel. SSH is the standard tool used by computational scientists to interact with computer clusters and supercomputers around the world.
During the four weeks of the tutorial, you have the possibility to access a remote computer (16-core Xeon E5-2690 CPU with 2.9 GHz clock frequency, 256 GB RAM).
All exercises can be completed on the local Macintosh machines.
Using the remote computer may allow you to speed up some calculations and to learn about how work on remote machines.
Once you have a user name on the remote computer (ask your teaching assistant), you can connect to it:
ssh -X username@pcihopt3.uzh.ch # Connect to host pcihopt3.uzh.ch with X11 forwarding
The ''-X'' flag ensures that when you run a program with a graphical user interface on the remote computer (such as VMD), the graphical user interface will be //forwarded// to your local machine.
**TASK 1**
- connect to pcihopt3 and test gnuplot and VMD
This should work on the Macintosh computers in the lab.
If you want to use your own laptops, you might have to install some additional software and it is your responsibility to do so (we will of course help you, where we can).
Linux
* Connect to the internet via UZH VPN
* Open X-Windows terminal
Mac OSX
* Install [[https://xquartz.macosforge.org/landing/|XQuartz]] (X11.app)
* Connect to the internet via UZH VPN
* Open terminal
Windows
* Install the [[http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html|PuTTY]] SSH client
* Install the [[http://sourceforge.net/projects/xming/|Xming]] X Server for Windows
* Connect to the internet via UZH VPN
* Configure PuTTY and Xming as described [[http://www.math.umn.edu/systems_guide/putty_xwin32.html|here]]
====== File transfer ======
After connecting to the remote computer, you start in your personal //home// directory.
Since you are connecting to the machine for the first time, this directory will be basically empty.
Let's fill it with some useful data: Copy the ''intro'' directory from your local machine to the remote computer by using the [[http://en.wikipedia.org/wiki/Secure_copy|scp]] program:
pwd # print your home directory
exit # exit ssh connection
scp -r intro exer01@pcihopt3.uzh.ch:/path/to/home/directory # copy directory 'intro' to remote computer
**TASK 2**
- The files required for the introduction part are also provided on the home page as a [[http://www.gnu.org/software/tar/manual/html_node/index.html|tar archive]]. Download ''intro.tar'' to your local machine.
- Copy the tar archive to the remote machine and extract it using ''tar xf intro.tar''
- Try some of the previous exercises on the remote computer.
If your laptop runs Linux or MacOs, then ''scp'' will already be on it.
Windows
* Install [[http://winscp.net/eng/download.php|WinSCP]]
* Configure WinSCP as described [[http://winscp.net/eng/docs/guide_connect|here]], selecting the SCP file protocol
Later, you may want to copy back some data from the remote machine to your local computer for closer inspection.
This works just analogously:
scp -r exer01@pcihopt3.uzh.ch:/path/to/directory . # copy directory from remote computer to working directory