The usual way to log in to remote servers using
SSH is via the challenge–response protocol by the use of username and password combination.
Yo can also log in using public and private key pair method and when configured, can be used to passwordlessly log in to remote
SSH servers; which could be a nice convenience and useful for automation work.
You can configure passwordless
SSH login from the terminal.
Setup passwordless SSH login:
SSHkey pair on the local host if you don't already have one.
$ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/home/user/.ssh/id_rsa): 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. ##### snipped
Make sure to not set any passphrase for the key pair
$ sudo grep PubkeyAuthentication /etc/ssh/sshd_config [sudo] password for user: PubkeyAuthentication yes
Public key authentication is normally enabled by default.
SSHpublic key from local host to the
$ ssh-copy-id user@remote-host /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed /usr/bin/ssh-copy-id: INFO: 2 key(s) remain to be installed -- if you are prompted now it is to install the new keys user@remote-host's password: Number of key(s) added: 2 Now try logging into the machine, with: "ssh 'user@remote-host'" and check to make sure that only the key(s) you wanted were added.
$ ssh user@remote-host Last login: Fri Jun 28 00:12:15 2019 from 192.168.111.135 [user@remote-host ~]$
You will no longer be prompted for password when logging in to the server.
|Red Hat Enterprise Linux|
|SUSE Linux Enterprise Server|