What is SSH and how do I use it?
What is SSH?
SSH or Secure Shell is a network communication protocol that enables two computers to communicate (c.f http or hypertext transfer protocol, which is the protocol used to transfer hypertext such as web pages) and share data. An inherent feature of ssh is that the communication between the two computers is encrypted meaning that it is suitable for use on insecure networks.
SSH is often used to “login” and perform operations on remote computers but it may also be used for transferring data.
How do I use SSH?
You use a program on your computer (ssh client), to connect to our service (server) and transfer the data to/from our storage using either a graphical user interface or command line. There are many programs available that enable you to perform this transfer and some operating systems such as Mac OS X and Linux have this capability built in.
SSH clients will typically support SCP (secure copy and/or SFTP (SSH file transfer protocol) for transferring data; we tend to recommend using SFTP instead of SCP but both will work with our service.
Will I have to use the command line?
No, there are many very good programs with graphical interfaces such as Win SCP for Windows and Cyberduck for Mac OS X. Please see the access guide for your operating system Windows Mac OS X and Linux for more information.
Why did Research Data Services choose SSH?
SSH enables us to provide a service with encrypted access for the widest range of operating systems (Windows XP-10, Max OS X and Linux); this would not be possible if we provided Windows networked drives (which utilise the SMB/CIFS communication protocol). SSH is reliable and secure and is often used in the High Performance Computing community for this reason.
How to Use SSH to Connect to Remote Computers Using Windows, Linux or macOS
Connect to a remote machine or server and control it via a command line interface
If you ever need to securely connect to a remote machine and reach a command-line interface, SSH is the tool for the job. The Secure Shell Protocol (SSH) has been used for decades as a means to remotely interface with Unix / Linux / BSD machines over insecure connections
SSH operates on a traditional client – server principle where a remote user (client) can connect to a server and run commands as if they were sitting at the machine. SSH is particularly useful if you have a server (perhaps on one of the best cheap webhost) or Raspberry Pi you need to control remotely. As these systems primarily use Linux, it’s easy to do things like edit scripts, change key configuration files or even install software remotely.
In this how to, we will cover how to create basic SSH connections coming from Windows, macOS and Linux machines.
Before You Open SSH: Credentials and Access
To initiate an SSH connection coming from any operating system, you first need proper access to the remote device and you need its address, in the form of either an IP address or a valid hostname. You will need to enter the address to establish your connection and then you will be hit with a request for a username and password.
If you have a web hosting account with SSH enabled, you will likely be able to use the domain name as the address and then the same username and password you employ for reaching FTP or cPanel to log in. If those don’t work, check the instructions on the host’s site. If you are logging into a server on your local network, you will need the computer name / IP address and to make sure that the remote device has an account for you on it.
Using SSH in Windows
Though you can invoke SSH from the command line, most folks much prefer to use PuTTY, a free GUI app that makes connecting easy.
1. Download and install PuTTY. Windows does have its own command prompt, which can be used with SSH, but PuTTY is by far the most accessible means to open an SSH connection.
2. Open PuTTY. PuTTY’s user interface has a Host Name / IP address section which is where we would type in the details of the machine that we wish to SSH into.
3. Enter the appropriate address into the Hostname or IP address field and click Open.
4. Answer Yes if prompted to confirm your connection. If this is the first time connecting to that system, you will be asked.
You will now be connected to the remote system.
5. Enter your username and password as prompted. The password is not echoed to the screen, this is normal behavior and is a security feature.
You are now in control of the remote machine, any commands will be executed using the remote machine.
6. When finished with the SSH session, type exit and press Enter or simply close the window. It is important to close an SSH session when not in use so you don’t accidentally send commands to it or leave it open should your computer be hacked.
Using SSH in macOS
1. Launch the terminal by clicking the terminal icon in the dock.
2. Enter the SSH command followed by username@server. In the example below, our user was “pi” and the hostname was “raspberrypi.local”.
ssh pi@raspberrypi.local
3. Type Yes if prompted to confirm the connection for the first time.
4. Enter your password when prompted.
5. When finished with the SSH session, exit using CTRL+D or type exit and press Enter. It is important to close an SSH session when not in use so you don’t accidentally send commands to it or leave it open should your computer be hacked.
Using SSH in Linux
In all major versions of Linux, SSH is built into the command line and easy to access that way. Note that we used Ubuntu for this tutorial but these instructions would work with almost any Linux flavor.
1. Open the terminal if you’re not already at the command line. Hitting CTRL + ALT + T does this or you can go to the apps menu and search for “terminal” to find its app.
2. Use SSH to log in to the remote machine using your username, and the IP address / hostname. For example our user was “pi” and the hostname was “smartipi,” this is what we’d use:
ssh pi@smartipi.local
3. Type yes if you are given a warning that the SSH connection’s key is not known. This may happen on first connection and you may need to reconnect after entering it.
4. Enter your password if prompted. You won’t see the characters as you type them.
5. Press CTRL + D or type “logout” to finish your session.
Drop your comment