= Terminals and Shells = The terminal has been the primary means of interfacing with a cluster computing machine since the 1960s. Today, users who are working on a laptop or desktop with an operating system that is based on Unix will have a useful terminal built into their operating system. This includes anyone using Mac os X or any flavor of Linux. To access the terminal program on a Mac go to ''Applications -> Utilities -> Terminal'' This will launch a terminal containing a unix shell. The unix shell is a command line interpreter which both allows you to pass commands to the operating system and displays output. Currently, the default shell for most unix based systems is the Bourne Again SHell or bash shell. Your shell can be modified to provide a custom environment and we will go into detail on how to make these modifications in later sessions. = Remote Access = Scientists have been performing computations remotely since 1940 when George Stibitz used a Teletype machine to perform remote computations on a machine in New York City from the an AMS conference held at Dartmouth (http://history-computer.com/Internet/Dreamers/Stibitz.html). By 1973, standards were defined for a set of remote access protocols called Telnet. Subsequently (1983), the Berkley Software Distribution Unix operating system instituted an alternative protocol called Remote SHell, or rsh. While still available on most systems, rsh is not recommended for common use as it lacks encryption. In 1995, this lack of security lead a researcher named Tatu Ylonen to invent a secure set of protocols after his University was the victim of a sniffing attack. He named his protocols Secure SHell, or ssh, and this has become the default means of remote access for unix based machines world wide. == Secure SHell (SSH) == === Linux and Mac === Users on Mac and Linux workstations have ssh available on the command line. To connect to a remote server run the following: {{{user@localhost> ssh remoteusername@remotehost.example.com}}} You should be prompted for the password associated with your remote username. For those who have accounts on Cypress, you can connect to cypress by running the command {{{user@localhost> ssh tulaneID@cypress1.tulane.edu}}} and entering the password associated with your tulaneID across Tulane resources. If you are using one of our temporary accounts for the workshop you will use the alphanumeric user id and password provided. === Windows === Windows users will need to download an SSH client. Putty is a lightweight freeware SSH client. [[http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html|Download Putty]] [[http://the.earth.li/~sgtatham/putty/0.62/htmldoc/|Putty Manual]] == Tunneling X Windows Session via SSH == === Linux and Mac === Users on Mac and Linux workstations have ssh available on the command line. To connect to a remote server with X window tunneling run the following: {{{user@localhost> ssh -Y remoteusername@remotehost.example.com}}} === Windows === Windows users will need to download an X window server/client software. [[http://www.straightrunning.com/XmingNotes/|Xming]] [[http://www.cygwin.com/|Cygwin]]