SSH (Secure Shell or Secure Socket Shell), is a network protocol that gives system administrators, a secure way to access a computer over an unsecured network.
In this article, we’ll define what is SSH and how it works.
What Is SSH
In addition to providing security to a computer over an unsecured network. SSH is a package of three different utilities, slogin, ssh, and scp. And these implement the SSH protocol. SSH provides strong password authentication and public key authentication, as well as encrypted data communications between two computers connecting over an open network, such as the internet.
The difference between slogin, ssh, and scp lies mostly in encryption. Not only is login information kept more secure, but any commands sent are also similarly encrypted. This can be useful if you need to remotely control a server that is outside your organization’s firewall without exposing it to an unsecured internet connection.
For Mac and Linux users, you can connect directly to your server via SSH by using the terminal. Follow the steps in this linked guide to learn How to Connect to Your Server via SSH on Linux or Mac.
For Windows users, you will have to connect via SSH through a different application. We recommend PuTTY, a free program, for this. To install, see our guide to How to Connect SSH to the Linux Server From Your PC.
What Is an SSH Connection
An SSH connection is an encrypted access to a remote login or server. Similar to other network access, you can send and receive data and commands from one computer (perhaps your desktop) to another (your hosting server), or one platform (desktop running on Windows) to another (Linux hosting), over a public network like the internet.
If your computer is using Windows OS, you can establish an SSH connection to your Linux server by using the Putty application.
If your computer is using Linux or Mac OS, you can establish an SSH connection to your Linux server by using the Terminal application.
What Are SSH-1 and SSH-2
SSH-1 is the first version of Secure Shell, which is simply a network protocol for remote logins that provides highly secure and encrypted communications over public networks. SSH-2, on the other hand, is a better and more efficient version of SSH-1. Aside from encrypted communication channels over public networks, it also provides SFTP (Secure File Transfer Protocol), which is a more secured version of FTP (File Transfer Protocol).
SFTP not only provides secure file transfer between two computers, but also the capability for file system management.
So basically, SSH-2 is an enhanced version of SSH-1.
Where Can You Access Your SSH Keys
|Access your Hosting Manager.
|Scroll down to Security tab. Then, click on the SSH Access icon.
|In the next screen, look at the bottom of the page and click Manage SSH Keys button.
What Is an SSH Connection For
Here are some of the things you can do with an SSH connection:
Secure File Transfer
|the capability of setting up extranets for securely sharing data by giving partial access to selected authorised users.
Secure Command Shell
|the capability of network administrators to access the server and execute system commands without compromising security, even from a home computer.
Enable Port Forwarding
|the capability of setting up an encrypted channel where users can securely communicate, transfer data, and perform other applications through a single port, usually port 22 because it is considered the safest and most secure port.
How Does an SSH Connection Works
Here is a simplified description of how SSH works:
In this process, there are two computers or machines involved:
- a Client
- a Server
When a client computer needs to remotely log in, send or receive data, or execute system commands on another computer (server), it first tries to establish a connection with that other computer.
However, before the connection between the two computers is confirmed, it first undergoes an authentication process. One of the most common authentication or verification processes is through an exchange of cryptographic keys.
When the connection is verified by the other computer or server it will then establish a secured connection between the two computers.
For every task a client computer performs, the secure shell provides an encrypted channel where it verifies the client's permission first before any of the tasks is successfully executed. This is how an SSH connection safeguards the data files in transit as well as the computers involved in remote logins.
Read our guide to learn about the common SSH commands. If you need any further assistance, or if you have any questions, please let us know. We’d love to help!