Every user has to transfer their public key to .ssh directory in their home directory.
I am a Regular User
Just follow a quickfix to get it work for your remote machine.
I secured by home directory with encryption
(Copied for https://help.ubuntu.com/community/SSH/OpenSSH/Keys)
If you have an encrypted home directory, SSH cannot access your authorized_keys file because it is inside your encrypted home directory and won't be available until after you are authenticated. Therefore, SSH will default to password authentication.
To solve this, create a folder outside your home named:
/etc/ssh/<username> (replace "<username>" with your actual username).
This directory should have 755 permissions and be owned by the user. Move the authorized_keys file into it. The authorized_keys file should have 644 permissions and be owned by the user.
Then edit your /etc/ssh/sshd_config and add:
AuthorizedKeysFile /etc/ssh/%u/authorized_keys
Finally, restart ssh with:
sudo service ssh restart
The next time you connect with SSH you should not have to enter your password.