A diff between the non-working verbose output and the working one: (root user doesn't work, 'alex' user works, same machine). FWIW on the laptop both root and 'alex' work just fine.
Pay special attention to the debug2: key: foo/id_rsa (*N*) and then 'Offering RSA public key' vs 'Trying private key'. debug1: Host 'leaf.dragonflybsd.org' is known and matches the RSA host key. -debug1: Found key in /root/.ssh/known_hosts:2 -debug2: bits set: 495/1024 +debug1: Found key in /home/alex/.ssh/known_hosts:1 +debug2: bits set: 507/1024 debug1: ssh_rsa_verify: signature correct debug2: kex_derive_keys debug2: set_newkeys: mode 1 @@ -99,8 +98,8 @@ debug1: SSH2_MSG_SERVICE_REQUEST sent debug2: service_accept: ssh-userauth debug1: SSH2_MSG_SERVICE_ACCEPT received -debug2: key: /root/.ssh/id_rsa (0x28400070) -debug2: key: /root/.ssh/id_dsa (0x0) +debug2: key: /home/alex/.ssh/id_rsa (0x0) +debug2: key: /home/alex/.ssh/id_dsa (0x0) debug1: Authentications that can continue: publickey,keyboard-interactive debug3: start over, passed a different list publickey,keyboard-interactive debug3: preferred publickey,keyboard-interactive,password @@ -108,21 +107,109 @@ debug3: remaining preferred: keyboard-interactive,password debug3: authmethod_is_enabled publickey debug1: Next authentication method: publickey -debug1: Offering RSA public key: /root/.ssh/id_rsa -debug3: send_pubkey_test +debug1: Trying private key: /home/alex/.ssh/id_rsa +debug1: read PEM private key done: type RSA +debug3: sign_and_send_pubkey: RSA 3b:83:6e:15:d1:89:cd:d3:9b:0a:eb:87:56:c5:ac:e1 debug2: we sent a publickey packet, wait for reply
