Want to scp a file to another server without having to enter the password? Want to just make your security even stronger? Public/private keys to the rescue! Of course, if you don’t know what I’m talking about or why you would want to do this, feel free to google it or just go visit another site.
For those still with me, you need access to both the local and remote servers (duh). I’m going to refer to the server/host you are logged into as the local machine, and the one you want to connect to as the remote machine.
First, on the local machine you need to generate your public and private keys. To do so, enter this command…
ssh-keygen -t rsa
Be sure to just hit enter to the questions you’re prompted with (otherwise you will have to enter a password when connecting with the keys – which goes against the whole point of this post). This will create a couple of files in your .ssh directory (something like id_rsa and id_rsa.pub – your private and public keys respectively). Your public key (the file you want to distribute) ends in “.pub”. Assuming you have that file, send it over to the remote machine (perhaps with scp, yes?)…
scp ./id_rsa.pub [email protected]:/home/user/.ssh/id_rsa.pub
Of course password authentication isn’t enabled yet so you’ll have to enter the password. Next up, you need to login to the remote machine and visit your .ssh directory, and cat the .pub file into your “authorized_keys” file (don’t worry, the command below will create the file if it doesn’t exist. I leave it to you to know how to create the .ssh directory if needed)…
cat id_rsa.pub >> authorized_keys
It’s then a good idea to secure your file and delete the temporary public key on the remote machine…
chmod 600 authorized_keys
rm id_rsa.pub
Once you’ve done all this, you should now be able to connect without a password! Just use your private key…
ssh -i ./id_rsa [email protected]
Have fun!
Please remember to subscribe to the newsletter to stay up to date!
You or someone you know looking to buy or sell?
Disclaimer: Thoughts and opinions are my own, and do not reflect the views of any employer, family member, friend, or anyone else. Some links may be affiliate links, but I don't link to anything I don't use myself. You would think this should be self evident these days, but apparently not...