If you are logging in and out of a Linux machine, especially a Raspberry Pi on your local network, it can be a pain to keep entering a password. The longer and more secure your password, the more of a pain it can be. If only there was a secure but convenient alternative …
Well, there is!
SSH and Public Keys
What we are going to do is set up a trusted kind of authentication for our shell access between the two computers. Technically we are creating what is called a “2048 bit RSA key pair”. A bit like a super-password that you don’t have to type in every time 🙂
First, we need to see if you already have a key on your local machine by logging into your local terminal and using:
If you don’t see a .pub file then you need one extra step. Enter:
to create one (just accepting the defaults is fine as prompted, unless you are more knowledgeable). You will get a couple of new files.
id_rsa.pub is your public key, which is what you share with the world.
Keep any other files private, especially your id_rsa, which is your private key.
Next, you need to output your file to the terminal so you can copy it to your clipboard, or you can FTP it up to the server if that is easier.
Copy and paste to the terminal as part of this command:
echo ssh-rsa [YOUR COPYPASTE HERE] >> ~/.ssh/authorized_keys
This appends the key to your Authorized Keys file, essentially saying you get to log in without entering a password in future 🙂
(If the directory does not exist then
mkdir ~/.ssh and try again)
Finally, set the permissions:
chmod 600 ~/.ssh/authorized_keys
That’s it, you should now have freedom from passwords, at least between those two SSH terminals 😉
- Image Source: BigStock