Secure Shell (SSH) is a cryptographic network protocol that enables secure communication over an insecure network. The protocol was developed to replace old insecure protocols and to increase the security and data protection of all operating systems.
What is SSH?
What is SSH?
SSH stands for Secure Shell and is also known as Secure Socket Shell.
SSH is a secure network communication protocol. The protocol is mainly used by network administrators to establish a secure connection to remote devices. However, SSH has a lot of common features.
Before SSH was developed, users and administrators used insecure network protocols such as Telnet to communicate with remote devices. These now obsolete protocols send vital information such as passwords and login information in clear text, making them easy targets for an attacker.
SSH usually communicates on port 22.
SSH1 vs. SSH2: what's the difference?
There are "two" versions of SSH. We say "two" because there were many implementations and updates from SSH1 to SSH2 between those two versions.
As you would expect, SSH2 is the more secure protocol. It offers better protection against attackers and eavesdroppers, supports stronger encryption algorithms, and offers numerous general improvements over the original SSH protocol.
What is OpenSSH?
OpenSSH is a widely used open source implementation of SSH. The original free version of SSH was developed by Tatu Ylönen. Later versions of Ylönen's works were copyrighted, which means that it cost money to license and use, and you couldn't make unauthorized changes to the log.
So a development team announced the original free version of SSH and named it OpenSSH, which is now being developed as part of OpenBSD (an open source operating system). All common operating systems such as Windows, macOS and the numerous Linux distributions support OpenSSH.
How does SSH work?
To understand how SSH works, you need to understand two things.
What is a clam Second, how does public key cryptography work? Before we go into the details of an SSH connection, let's find out what a shell actually is.
What is a shell?
A shell is software that allows you to communicate with the operating system on which it is hosted. Typically, you use commands to interact with the shell even though graphical user interfaces (GUIs) exist.
One important thing to know is that you don't have to be at your computer to use a shell. You can run a shell remotely over a network connection using SSH – you guessed it.
What is public key encryption?
There are two primary types of encryption in modern computers:
- Symmetrical algorithm: Uses the same key for encryption and decryption. Both parties must agree on the algorithm key before communication can begin.
- Asymmetric algorithm: Uses two different keys: a public and a private key. This enables secure encryption during communication without having to set up a mutual algorithm beforehand.
SSH is a type of public key cryptography that uses both of the above types of encryption to establish a secure connection.
SSH uses both of the above types of encryption to create a secure connection in a client-server model. When the client tries to connect to the server, each participant communicates their encryption protocols.
After the client and server have determined an appropriate encryption protocol, they use the Diffie-Hellman key exchange algorithm to arrive at a shared encryption key as part of a symmetric algorithm. This encryption key remains a secret throughout the connection and is used to encrypt all communication between the two parties.
So where does asymmetric encryption come from?
With public key cryptography, you have two keys: a Public key and a Private key. You can send the public key to other people while the owner only knows the private key. Together they make a couple.
Before the symmetric key exchange takes place and the secure communication channel is established, SSH uses asymmetric encryption to create a temporary key pair. The client and server exchange public keys and check each other before the symmetric key creation process begins.
Which encryption algorithm does SSH use?
Since SSH uses symmetric encryption to secure your connection, you can configure SSH to use a variety of symmetric encryption algorithms, including AES, Blowfish, Twofish, Salsa20 / ChaCha20, 3DES, IDEA, and more.
Related topics: Common Encryption Types and Why You Shouldn't Create Your Own
Is SSH the same as SSL / TLS?
While both SSH and SSL / TLS provide security for a previously insecure network protocol, SSH and SSL / TLS are not the same.
The Secure Sockets Layer (SSL) and its successor, Transport Layer Security (TLS), offer an encrypted communication tunnel. You use TLS every day when you send email or browse the internet. SSL and TLS are application layer protocols. In Internet communication networks, the application layer standardizes communication for end user services.
While both SSL / TLS and SSH offer encryption, the network protocols themselves are designed for different purposes. SSL / TLS is used to protect your data connection, while SSH enables secure remote access and the execution of commands.
However, you can use SSH in conjunction with SSL to transfer files by using the SSH File Transfer Protocol (SFTP) or the Secure Copy Protocol (SCP). By the way, using the SCP is only one way of copying data from your PC to a Raspberry Pi.
Is SSH the same as a VPN?
Like the question above, a Virtual Private Network (VPN) also offers an encrypted tunnel for your communication. However, when SSH provides a secure connection to a particular computer in a client-server configuration, a VPN establishes a secure connection between your computer and the VPN server.
They do not run any remote commands on the VPN server. When you turn your VPN on, data transfers to and from your computer are transmitted through the encrypted tunnel to the VPN server before you rejoin the wider internet.
SSH enables a secure connection to a single computer to execute remote commands, while a VPN enables an encrypted tunnel between your computer and the VPN server.
This process can obscure your computer's location and provide additional security when you are using an Internet connection. Would you like to know more? Here's how a VPN can protect your privacy.
Which platforms is SSH available on?
As long as your selected operating system has an SSH client or integrated SSH functionality, the secure network protocol is available to you.
For example, you can follow our beginner's guide to SSH on Linux or find out how easy it is to use SSH on Windows 10.
SSH is here to stay
Secure Shell is going nowhere. SSH offers a secure and user-friendly network protocol that is freely available to every user. It works on every platform and is available worldwide. After reading this quick guide to SSH, you'll be much better prepared to use it in the future.
Here's how to decide which iCloud storage plan is right for you
How much iCloud storage do you need? Here's a handy guide on how to choose the best iCloud plan for you.
About the author
(669 articles published)
Gavin is the junior editor for Windows and Technology Explained, contributing regularly to the Really Useful Podcast, and was the editor for MakeUseOf's crypto-focused sister site Blocks Decoded. He has a BA (Hons) in Contemporary Writing Using Digital Art Practices Looted from the Devon Hills, as well as over a decade of writing experience. He enjoys plenty of tea, board games, and soccer.
By Gavin Phillips
Subscribe to our newsletter
Subscribe to our newsletter for tech tips, reviews, free e-books, and exclusive deals!
One more step …!
Please confirm your email address in the email we just sent you.