On the source machine, make sure you have an id_rsa.pub file
$ ls ~/.ssh/id_rsa.pub
If you don’t, you can easily generate one with ssh-keygen (just hit enter 3 times after running it to accept all defaults)
$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/iotgdev/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in test.
Your public key has been saved in test.pub.
The key fingerprint is:
SHA256:SyQWvLmI78qGU78xRn4ifaq3qQLA8IahVBzg4Zbt7S0
The key's randomart image is:
+---[RSA 2048]----+
| o+o... |
|=.+. .. |
|=O . oo. |
|=.+ ..oo |
|.. o.o .S |
|. o+o o. . |
|.o.oBEo.. |
|+..o+O. |
| +=**o |
+----[SHA256]-----+
Use ssh-copy-id to copy your id_rsa.pub fingerprint to the target machine (the machine you want to login into without a password)
$ ssh-copy-id hddl@<ip address>
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/hddl/.ssh/id_rsa.pub"
/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: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
hddl@<ip address>'s password:
Number of key(s) added: 1
Now try logging into the machine, with: "ssh 'hddl@<ip address>'"
and check to make sure that only the key(s) you wanted were added.
You should now be able to login without using a password.