PCsuggest

  • Quick tip
  • SECURITY
  • NETWORKING
  • OpenWrt
  • HARDWARE

Password less SSH login setup on Linux

Updated - March 2, 2024 by Arnab Satapathi

A short and insecure SSH password is nightmare, while typing a long password just to login kills productivity. So, here's how you can setup password less SSH login to your servers or any machine with SSH service enabled.

I've found that it saves a lot of time. So it's worth implementing if you've to deal with many servers, or other SSH related stuffs like SSHFS server.

Here we're assuming that the server already has SSH service enabled and running. Here we're not setting up SSH server on the client side, lets' get started with passwordless SSH.

Contents

  • 1. Generate the SSH key
  • 2. Copy the SSH public key to the remote server
  • 3. Testing password less SSH login and notes
  • Common errors and fixes

1. Generate the SSH key

Again assuming you've installed a SSH client like openssh-client on the client machine,  first you need to generate the SSH key.

For that, we're going to use the ssh-keygen command, part of the openssh-client package in Ubuntu or any Debian based system.

ssh-keygen -t rsa
password less ssh login generate key

You don't need to enter any passphrase, just keep tapping Enter key. This command will create your 2048 bit RSA key, available under the ~/.ssh directory by default.

If you need other type keys like DSA or ECDSA, add their respective name after the -t argument with the ssh-keygen command.

ssh-keygen -t dsa

I think the 2048 bit RSA key is strong enough for regular non-critical use. However if you want to harden the key, use the -b argument with the command.

ssh-keygen -t rsa -b 4096

2. Copy the SSH public key to the remote server

There's two type of SSH key for password less SSH login, a public key and a private key. The id_rsa is your private key and id_rsa.pub is your public key.

You need to copy only the public key to the remote server, either with the ssh-copy-id command or somehow manually.

amazon prime logo
Try AmazonPrime for free
Enjoy free shipping and One-Day delivery, cancel any time.

The typical syntax to copy the  SSH public key is like below.

ssh-copy-id  username@remote.host.name

A more legible example could be like,

ssh-copy-id  root@192.168.1.6

You'll be asked to type your current password to authenticate, type that. You'll be asked to prove authenticity of the remote server, just type yes.

Alternatively you can login to the remote server and create a text file under the ~/.ssh directory like below.

nano ~/.ssh/authorized_keys

Copy paste the contents of your ~/.ssh/id_rsa.pub file from your local machine there, save and exit the text editor.

3. Testing password less SSH login and notes

Now you should be able to login to the remote server without typing the password. Next you might want to disable SSH password based login for more security.

Note: Your private key is very important, don't ever share it with any one or never loose it. Also never overwrite existing keys, if you're using one previously. Simply you'll loose passwordless SSH access to your servers.

Hop this quick guide to enable passwordless login is simple enough to understand, If you've any suggestion or question, ask through the comments.

Common errors and fixes

Sometimes due to various reasons, like by reinstalling the operating system on the server or your local system you can get errors like WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!

This could be easily fixed by deleting the known_hosts file on the .ssh directory or simply by running a command. An example below.

ssh-key -R 192.168.1.101

Here 192.168.1.101 is the remote system, this could be either an IP address or a hostname.

Filed Under: networking Tagged With: command line, ssh

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Copyright © PCsuggest.com · All rights reserved.

  • Home
  • About
  • Contact
  • Privacy Policy
  • Sitemap