I am trying to understand how this functionality works. I have digital ocean account. I have given digital ocean an ssh public key to associate with any server that I spin up. Once I've created a droplet if I try to ssh as root to the server it fails, but if I do an ssh-add and give it a the specific key that I defined with my digital ocean account then it allows me to log in. If I were to add another user account and put a different public key in that accounts authorized_hosts file I would be able to log in without using ssh-add.
Can someone explain to me how this functionality works? How do I force a user to use ssh-add?
EDIT: I did a verbose ssh, it seems to only try these keys, but not any of the other keys that I have in my .ssh directory including the one I have setup for digital ocean. That I suspect may be part of the problem.
debug1: Authentications that can continue: publickey
debug1: Trying private key: /Users/username/.ssh/id_dsa
debug3: no such identity: /Users/username/.ssh/id_dsa: No such file or directory
debug1: Trying private key: /Users/username/.ssh/id_ecdsa
debug3: no such identity: /Users/username/.ssh/id_ecdsa: No such file or directory
debug1: Trying private key: /Users/username/.ssh/id_ed25519
debug3: no such identity: /Users/username/.ssh/id_ed25519: No such file or directory
debug2: we did not send a packet, disable method
debug1: No more authentication methods to try.