
SSH
SSH is a method for securely controlling a remote computer over the internet. Everything transmitted is encrypted, so that outsiders on the network cannot read along.
Many computers don’t sit on a desk, but in large data centers. They have no keyboard and no screen there. Nevertheless, people need to be able to operate them, often from the other side of the world. That is exactly what SSH is for, spelled out “Secure Shell”. You use it to build a connection from your own device to that remote computer and type in commands that are executed there. The word “secure” is in the name because the connection is encrypted: the data is altered before being sent in such a way that only the recipient can make it readable again.
Why nobody logs in unencrypted anymore
Before SSH, people used programs like Telnet. These sent username and password through the network in plain text. Anyone who could observe the line in between simply read along with the login credentials. In a university network or a public WiFi, that is a serious problem.
SSH solved this in 1995 and has remained the standard ever since. Practically every server on the internet is maintained through it. When a company deploys software to its servers, that almost always happens in the background via SSH.
That’s why a stolen SSH access is especially valuable to attackers. Whoever has it can do on the foreign machine whatever the actual owner could do: read data, delete it, launch their own programs. In reports about hacker attacks on companies, “compromised SSH keys” is a frequent cause.
Keys instead of passwords
When establishing a connection, both sides first negotiate a shared secret code. After that, everything going back and forth is encrypted. The trick here: this code can be agreed upon publicly without an eavesdropper being able to calculate it. Only after that does the login follow.
For the login, people today mostly use a key pair instead of a password. It consists of a public and a private key. The public one is placed on the server, and anyone is allowed to see it. The private one is kept on your own device and is never handed over. When logging in, the server poses a computational task that can only be solved with the private key.
A comparison helps: the public key is like a padlock that can be distributed. The private key is the only one that opens it. A password, on the other hand, must be known and can be given away. A private key is never transmitted, which is why this method is considered significantly more secure.
SSH in the everyday life of developers and cloud customers
Anyone who rents a server from providers like Amazon Web Services or Hetzner does not get a screen with it. You receive an address and a key and connect via SSH. On Windows, macOS, and Linux, the necessary program comes preinstalled today. You type something like “ssh user@server.de” into a text window and you’re in.
You also encounter SSH constantly when programming. Platforms like GitHub, where software is developed collaboratively, use it for uploading code. Many copying tools rely on it, such as SCP and SFTP for file transfers.
A common misconception: that SSH is just a command line. In fact, it is a transport channel through which other connections can also be routed. This technique is called tunneling and is used to securely access a company’s internal systems from outside. And in the field of AI, SSH is the usual way to train a model on rented graphics cards in a data center.