3 Steps to Perform SSH Login Without Password

It is very easy to perform SSH login to the remote server without prompting a password.

With a help of utilities from OpenSSH package, you can generate authentication keys on your local machine, copy public key to the remote server and add identities to your authentication agent.

Just three simple steps separate you from the possibility of connecting to a remote server without prompting a password.

Step 1: Generate a key pair on the local server

Use ssh-keygen to generate authentication keys for SSH.

$ ssh-keygen

Output:

Generating public/private rsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa): 
Created directory '/home/user/.ssh'.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/user/.ssh/id_rsa.
Your public key has been saved in /home/user/.ssh/id_rsa.pub.
The key fingerprint is:
8c:2a:ed:82:98:6d:12:0a:3a:ba:b2:1c:c0:25:be:5b

Step 2: Install your public key on the remote server

Use ssh-copy-id to connect to the remote machine and install your public key by adding it the authorized_keys file.

$ ssh-copy-id -i ~/.ssh/id_rsa.pub UserName@RemoteServer

Output:

UserName@RemoteServer's password: ********
Now try logging into the machine, with "ssh 'username@remoteserver'", and check in:
~/.ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.

Step 3: Add a private key to the authentication agent on the local server

Use ssh-add to add identities to the ssh-agent – the authentication agent.

$ ssh-add

Output:

Identity added: /home/user/.ssh/id_rsa (/home/user/.ssh/id_rsa)

Now you can log into the remote server via the SSH protocol without prompting a password.

7 Replies to “3 Steps to Perform SSH Login Without Password”

  1. Класс, самая понятная инструкция из всех, что нашёл. Спасибо!

    1. Miks siin mõni kommentaar imelikus keeles on?
      Kas siin kirjutatakse oma keeles ja eeldatakse, et inimesed üle maailma saavad aru?

  2. user_a@Server_A>ssh-keygen -t rsa -b 4096 -N “” -f ~/.ssh/id_rsa
    user_a@Server_A> ssh-copy-id -i ~/.ssh/id_rsa.pub user_b@Server_B
    ssh-add

  3. Will recommend checking this article if you have an issue and particularly if you get – bad ownership or modes for directory /home/dave/.ssh.
    https://www.daveperrett.com/articles/2010/09/14/ssh-authentication-refused/
    ____
    SSH doesn’t like it if your home or ~/.ssh directories have group write permissions. Your home directory should be writable only by you, ~/.ssh should be 700, and authorized_keys should be 600 :

  4. Excelente guia.
    Muchas gracias por el aporte.

  5. ssh-add not working

    “$ ssh-add
    Could not open a connection to your authentication agent.”

  6. If you have:
    Could not open a connection to your authentication agent
    when trying ssh-add, do this instead:
    $ ssh-agent /bin/sh
    $ ssh-add

Leave a Reply