The Secure Shell protocol (SSH), has one great advantage over other remote login systems — for me, it made login passwords obsolete! Most people who talk about SSH will mention security, encryption, tunneling, port-forwarding and all the other cool stuff. But for me, SSH always meant one thing: I don’t have to set and remember passwords for the hundreds of servers I have accounts on.
Do you want to ignore all the passwords for all your systems and be merry? Read on!
What is Secure Shell Protocol?
The Secure Shell protocol is a cryptographic network protocol that provides a secure way to access a remote computer. SSH also refers to the set of utilities implementing the protocol in a client-server architecture. Basically, SSH clients are allowed to log in and execute commands to a remote server in a secure, encrypted fashion.
DreamHost’s Director of Technology explains how we keep websites safe.
Without entering into the details of how SSH uses symmetric and asymmetric encryption (you can read about it on Wikipedia, if you’re interested), an SSH authentication can be based simply on an exchange of private/public keys between the client and the server. Instead of the usual username/password combination, all you have to remember is the password to unlock one private key.
How to Create a Private Key
In practice, all you have to do is to create a keypair (we have a guide for how to create SSH keys), and upload the public key in the servers you want to log in to. That’s it!
This video sponsored by the National Science Foundation offers some more explanation on why SSH keys are awesome:
Luckily DreamCompute forces you to add your public key to all your cloud servers, as there is no other way to connect to them otherwise. Follow the tutorials to upload an SSH key via the web UI and connect to your instance with ssh keys.