Damien Miller wrote: > On Sun, 20 Oct 2019, Ted Unangst wrote: > > > I have two OpenBSD machines, let's call them laptop and desktop. desktop is > > a > > bit older, and has a ecdsa-sha2-nistp256 key in .ssh/authorized_keys. laptop > > is configured with a ssh-ed25519 .ssh/id_ed25519 key file. The keyfile has a > > password and I use ssh-agent and ssh-add to unlock it. > > > > What happens: I ssh from laptop to desktop and ssh asks for the id_ed25519 > > password. This doesn't accomplish much, since it isn't authorized on desktop > > anyway. > > > > Expected: If the key doesn't work, I should be asked for the remote system > > password, not the key password. The key has already been unlocked via > > ssh-add. > > > > Theory: ssh tries the key, doesn't work, then gets confused when it goes > > back > > into the .ssh for more options and asks to unlock a key it's already seen. > > > > I think this is a regression, I've had similar setup for ages and never > > noticed this before. > > Could you send the output of "ssh -vvv desktop" from the laptop side? > Also, what are the permissions for ~/.ssh/id_ed25519*?
Ah, so when this happens, it's on a machine that doesn't have id_ed25519.pub. Here's a before and after ssh -vvv for reference. Note that it works fine (without the pub key) connecting to a host that does have authorized_keys including ed25519. ativ:~> ssh -vvv 10.3.3.32 OpenSSH_8.1, LibreSSL 3.0.2 debug1: Reading configuration data /home/tedu/.ssh/config debug1: Reading configuration data /etc/ssh/ssh_config debug2: resolve_canonicalize: hostname 10.3.3.32 is address debug1: auto-mux: Trying existing master debug1: Control socket "/home/tedu/.ssh/[email protected]:22" does not exist debug2: ssh_connect_direct debug1: Connecting to 10.3.3.32 [10.3.3.32] port 22. debug1: Connection established. debug1: identity file /home/tedu/.ssh/id_rsa type -1 debug1: identity file /home/tedu/.ssh/id_rsa-cert type -1 debug1: identity file /home/tedu/.ssh/id_dsa type -1 debug1: identity file /home/tedu/.ssh/id_dsa-cert type -1 debug1: identity file /home/tedu/.ssh/id_ecdsa type -1 debug1: identity file /home/tedu/.ssh/id_ecdsa-cert type -1 debug1: identity file /home/tedu/.ssh/id_ed25519 type -1 debug1: identity file /home/tedu/.ssh/id_ed25519-cert type -1 debug1: identity file /home/tedu/.ssh/id_xmss type -1 debug1: identity file /home/tedu/.ssh/id_xmss-cert type -1 debug1: Local version string SSH-2.0-OpenSSH_8.1 debug1: Remote protocol version 2.0, remote software version OpenSSH_7.9 debug1: match: OpenSSH_7.9 pat OpenSSH* compat 0x04000000 debug2: fd 3 setting O_NONBLOCK debug1: Authenticating to 10.3.3.32:22 as 'tedu' debug3: hostkeys_foreach: reading file "/home/tedu/.ssh/known_hosts" debug3: record_hostkey: found key type ECDSA in file /home/tedu/.ssh/known_hosts:5 debug3: load_hostkeys: loaded 1 keys from 10.3.3.32 debug3: order_hostkeyalgs: prefer hostkeyalgs: [email protected],[email protected],[email protected],ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521 debug3: send packet: type 20 debug1: SSH2_MSG_KEXINIT sent debug3: receive packet: type 20 debug1: SSH2_MSG_KEXINIT received debug2: local client KEXINIT proposal debug2: KEX algorithms: curve25519-sha256,[email protected],ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group14-sha256,diffie-hellman-group14-sha1,ext-info-c debug2: host key algorithms: [email protected],[email protected],[email protected],ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,[email protected],[email protected],[email protected],[email protected],ssh-ed25519,rsa-sha2-512,rsa-sha2-256,ssh-rsa debug2: ciphers ctos: [email protected],aes128-ctr,[email protected] debug2: ciphers stoc: [email protected],aes128-ctr,[email protected] debug2: MACs ctos: [email protected],[email protected],hmac-sha2-256,hmac-sha1 debug2: MACs stoc: [email protected],[email protected],hmac-sha2-256,hmac-sha1 debug2: compression ctos: none,[email protected],zlib debug2: compression stoc: none,[email protected],zlib debug2: languages ctos: debug2: languages stoc: debug2: first_kex_follows 0 debug2: reserved 0 debug2: peer server KEXINIT proposal debug2: KEX algorithms: curve25519-sha256,[email protected],ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group14-sha256,diffie-hellman-group14-sha1 debug2: host key algorithms: rsa-sha2-512,rsa-sha2-256,ssh-rsa,ecdsa-sha2-nistp256,ssh-ed25519 debug2: ciphers ctos: [email protected],aes128-ctr,aes192-ctr,aes256-ctr,[email protected],[email protected] debug2: ciphers stoc: [email protected],aes128-ctr,aes192-ctr,aes256-ctr,[email protected],[email protected] debug2: MACs ctos: [email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],hmac-sha2-256,hmac-sha2-512,hmac-sha1 debug2: MACs stoc: [email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],hmac-sha2-256,hmac-sha2-512,hmac-sha1 debug2: compression ctos: none,[email protected] debug2: compression stoc: none,[email protected] debug2: languages ctos: debug2: languages stoc: debug2: first_kex_follows 0 debug2: reserved 0 debug1: kex: algorithm: curve25519-sha256 debug1: kex: host key algorithm: ecdsa-sha2-nistp256 debug1: kex: server->client cipher: [email protected] MAC: <implicit> compression: none debug1: kex: client->server cipher: [email protected] MAC: <implicit> compression: none debug3: send packet: type 30 debug1: expecting SSH2_MSG_KEX_ECDH_REPLY debug3: receive packet: type 31 debug1: Server host key: ecdsa-sha2-nistp256 SHA256:UpvWuBaD8CYqnkQgE6dt7VhdMVRYl8qOiwArZ0ngiuI debug3: hostkeys_foreach: reading file "/home/tedu/.ssh/known_hosts" debug3: record_hostkey: found key type ECDSA in file /home/tedu/.ssh/known_hosts:5 debug3: load_hostkeys: loaded 1 keys from 10.3.3.32 debug1: Host '10.3.3.32' is known and matches the ECDSA host key. debug1: Found key in /home/tedu/.ssh/known_hosts:5 Host key fingerprint is SHA256:UpvWuBaD8CYqnkQgE6dt7VhdMVRYl8qOiwArZ0ngiuI +---[ECDSA 256]---+ |. . .==o .. | |.= . . ... .. | |*.o + . .. . | |o+o+ o o =o | |oo.+o = So. | |* =..o o.+. | |+=. . .o. | |oE. ... | | o | +----[SHA256]-----+ debug3: send packet: type 21 debug2: set_newkeys: mode 1 debug1: rekey out after 134217728 blocks debug1: SSH2_MSG_NEWKEYS sent debug1: expecting SSH2_MSG_NEWKEYS debug3: receive packet: type 21 debug1: SSH2_MSG_NEWKEYS received debug2: set_newkeys: mode 0 debug1: rekey in after 134217728 blocks debug1: Will attempt key: [email protected] ED25519 SHA256:KQM4nnWGRt2PxBx9AZIST6zCR6j4XQAQLSdpRfm9jfg agent debug1: Will attempt key: /home/tedu/.ssh/id_rsa debug1: Will attempt key: /home/tedu/.ssh/id_dsa debug1: Will attempt key: /home/tedu/.ssh/id_ecdsa debug1: Will attempt key: /home/tedu/.ssh/id_ed25519 debug1: Will attempt key: /home/tedu/.ssh/id_xmss debug2: pubkey_prepare: done debug3: send packet: type 5 debug3: receive packet: type 7 debug1: SSH2_MSG_EXT_INFO received debug1: kex_input_ext_info: server-sig-algs=<ssh-ed25519,ssh-rsa,rsa-sha2-256,rsa-sha2-512,ssh-dss,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521> debug3: receive packet: type 6 debug2: service_accept: ssh-userauth debug1: SSH2_MSG_SERVICE_ACCEPT received debug3: send packet: type 50 debug3: receive packet: type 51 debug1: Authentications that can continue: publickey,password,keyboard-interactive debug3: start over, passed a different list publickey,password,keyboard-interactive debug3: preferred publickey,keyboard-interactive,password debug3: authmethod_lookup publickey debug3: remaining preferred: keyboard-interactive,password debug3: authmethod_is_enabled publickey debug1: Next authentication method: publickey debug1: Offering public key: [email protected] ED25519 SHA256:KQM4nnWGRt2PxBx9AZIST6zCR6j4XQAQLSdpRfm9jfg agent debug3: send packet: type 50 debug2: we sent a publickey packet, wait for reply debug3: receive packet: type 51 debug1: Authentications that can continue: publickey,password,keyboard-interactive debug1: Trying private key: /home/tedu/.ssh/id_rsa debug3: no such identity: /home/tedu/.ssh/id_rsa: No such file or directory debug1: Trying private key: /home/tedu/.ssh/id_dsa debug3: no such identity: /home/tedu/.ssh/id_dsa: No such file or directory debug1: Trying private key: /home/tedu/.ssh/id_ecdsa debug3: no such identity: /home/tedu/.ssh/id_ecdsa: No such file or directory debug1: Trying private key: /home/tedu/.ssh/id_ed25519 Enter passphrase for key '/home/tedu/.ssh/id_ed25519': debug2: no passphrase given, try next key debug1: Trying private key: /home/tedu/.ssh/id_xmss debug3: no such identity: /home/tedu/.ssh/id_xmss: No such file or directory debug2: we did not send a packet, disable method debug3: authmethod_lookup keyboard-interactive debug3: remaining preferred: password debug3: authmethod_is_enabled keyboard-interactive debug1: Next authentication method: keyboard-interactive debug2: userauth_kbdint debug3: send packet: type 50 debug2: we sent a keyboard-interactive packet, wait for reply debug3: receive packet: type 51 debug1: Authentications that can continue: publickey,password,keyboard-interactive debug3: userauth_kbdint: disable: no info_req_seen debug2: we did not send a packet, disable method debug3: authmethod_lookup password debug3: remaining preferred: debug3: authmethod_is_enabled password debug1: Next authentication method: password [email protected]'s password: debug3: send packet: type 50 debug2: we sent a password packet, wait for reply debug3: receive packet: type 51 debug1: Authentications that can continue: publickey,password,keyboard-interactive Permission denied, please try again. [email protected]'s password: ativ:~> ativ:~> ativ:~> ativ:~> ssh -vvv 10.3.3.32 OpenSSH_8.1, LibreSSL 3.0.2 debug1: Reading configuration data /home/tedu/.ssh/config debug1: Reading configuration data /etc/ssh/ssh_config debug2: resolve_canonicalize: hostname 10.3.3.32 is address debug1: auto-mux: Trying existing master debug1: Control socket "/home/tedu/.ssh/[email protected]:22" does not exist debug2: ssh_connect_direct debug1: Connecting to 10.3.3.32 [10.3.3.32] port 22. debug1: Connection established. debug1: identity file /home/tedu/.ssh/id_rsa type -1 debug1: identity file /home/tedu/.ssh/id_rsa-cert type -1 debug1: identity file /home/tedu/.ssh/id_dsa type -1 debug1: identity file /home/tedu/.ssh/id_dsa-cert type -1 debug1: identity file /home/tedu/.ssh/id_ecdsa type -1 debug1: identity file /home/tedu/.ssh/id_ecdsa-cert type -1 debug1: identity file /home/tedu/.ssh/id_ed25519 type 3 debug1: identity file /home/tedu/.ssh/id_ed25519-cert type -1 debug1: identity file /home/tedu/.ssh/id_xmss type -1 debug1: identity file /home/tedu/.ssh/id_xmss-cert type -1 debug1: Local version string SSH-2.0-OpenSSH_8.1 debug1: Remote protocol version 2.0, remote software version OpenSSH_7.9 debug1: match: OpenSSH_7.9 pat OpenSSH* compat 0x04000000 debug2: fd 3 setting O_NONBLOCK debug1: Authenticating to 10.3.3.32:22 as 'tedu' debug3: hostkeys_foreach: reading file "/home/tedu/.ssh/known_hosts" debug3: record_hostkey: found key type ECDSA in file /home/tedu/.ssh/known_hosts:5 debug3: load_hostkeys: loaded 1 keys from 10.3.3.32 debug3: order_hostkeyalgs: prefer hostkeyalgs: [email protected],[email protected],[email protected],ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521 debug3: send packet: type 20 debug1: SSH2_MSG_KEXINIT sent debug3: receive packet: type 20 debug1: SSH2_MSG_KEXINIT received debug2: local client KEXINIT proposal debug2: KEX algorithms: curve25519-sha256,[email protected],ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group14-sha256,diffie-hellman-group14-sha1,ext-info-c debug2: host key algorithms: [email protected],[email protected],[email protected],ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,[email protected],[email protected],[email protected],[email protected],ssh-ed25519,rsa-sha2-512,rsa-sha2-256,ssh-rsa debug2: ciphers ctos: [email protected],aes128-ctr,[email protected] debug2: ciphers stoc: [email protected],aes128-ctr,[email protected] debug2: MACs ctos: [email protected],[email protected],hmac-sha2-256,hmac-sha1 debug2: MACs stoc: [email protected],[email protected],hmac-sha2-256,hmac-sha1 debug2: compression ctos: none,[email protected],zlib debug2: compression stoc: none,[email protected],zlib debug2: languages ctos: debug2: languages stoc: debug2: first_kex_follows 0 debug2: reserved 0 debug2: peer server KEXINIT proposal debug2: KEX algorithms: curve25519-sha256,[email protected],ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group14-sha256,diffie-hellman-group14-sha1 debug2: host key algorithms: rsa-sha2-512,rsa-sha2-256,ssh-rsa,ecdsa-sha2-nistp256,ssh-ed25519 debug2: ciphers ctos: [email protected],aes128-ctr,aes192-ctr,aes256-ctr,[email protected],[email protected] debug2: ciphers stoc: [email protected],aes128-ctr,aes192-ctr,aes256-ctr,[email protected],[email protected] debug2: MACs ctos: [email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],hmac-sha2-256,hmac-sha2-512,hmac-sha1 debug2: MACs stoc: [email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],hmac-sha2-256,hmac-sha2-512,hmac-sha1 debug2: compression ctos: none,[email protected] debug2: compression stoc: none,[email protected] debug2: languages ctos: debug2: languages stoc: debug2: first_kex_follows 0 debug2: reserved 0 debug1: kex: algorithm: curve25519-sha256 debug1: kex: host key algorithm: ecdsa-sha2-nistp256 debug1: kex: server->client cipher: [email protected] MAC: <implicit> compression: none debug1: kex: client->server cipher: [email protected] MAC: <implicit> compression: none debug3: send packet: type 30 debug1: expecting SSH2_MSG_KEX_ECDH_REPLY debug3: receive packet: type 31 debug1: Server host key: ecdsa-sha2-nistp256 SHA256:UpvWuBaD8CYqnkQgE6dt7VhdMVRYl8qOiwArZ0ngiuI debug3: hostkeys_foreach: reading file "/home/tedu/.ssh/known_hosts" debug3: record_hostkey: found key type ECDSA in file /home/tedu/.ssh/known_hosts:5 debug3: load_hostkeys: loaded 1 keys from 10.3.3.32 debug1: Host '10.3.3.32' is known and matches the ECDSA host key. debug1: Found key in /home/tedu/.ssh/known_hosts:5 Host key fingerprint is SHA256:UpvWuBaD8CYqnkQgE6dt7VhdMVRYl8qOiwArZ0ngiuI +---[ECDSA 256]---+ |. . .==o .. | |.= . . ... .. | |*.o + . .. . | |o+o+ o o =o | |oo.+o = So. | |* =..o o.+. | |+=. . .o. | |oE. ... | | o | +----[SHA256]-----+ debug3: send packet: type 21 debug2: set_newkeys: mode 1 debug1: rekey out after 134217728 blocks debug1: SSH2_MSG_NEWKEYS sent debug1: expecting SSH2_MSG_NEWKEYS debug3: receive packet: type 21 debug1: SSH2_MSG_NEWKEYS received debug2: set_newkeys: mode 0 debug1: rekey in after 134217728 blocks debug1: Will attempt key: /home/tedu/.ssh/id_ed25519 ED25519 SHA256:KQM4nnWGRt2PxBx9AZIST6zCR6j4XQAQLSdpRfm9jfg agent debug1: Will attempt key: /home/tedu/.ssh/id_rsa debug1: Will attempt key: /home/tedu/.ssh/id_dsa debug1: Will attempt key: /home/tedu/.ssh/id_ecdsa debug1: Will attempt key: /home/tedu/.ssh/id_xmss debug2: pubkey_prepare: done debug3: send packet: type 5 debug3: receive packet: type 7 debug1: SSH2_MSG_EXT_INFO received debug1: kex_input_ext_info: server-sig-algs=<ssh-ed25519,ssh-rsa,rsa-sha2-256,rsa-sha2-512,ssh-dss,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521> debug3: receive packet: type 6 debug2: service_accept: ssh-userauth debug1: SSH2_MSG_SERVICE_ACCEPT received debug3: send packet: type 50 debug3: receive packet: type 51 debug1: Authentications that can continue: publickey,password,keyboard-interactive debug3: start over, passed a different list publickey,password,keyboard-interactive debug3: preferred publickey,keyboard-interactive,password debug3: authmethod_lookup publickey debug3: remaining preferred: keyboard-interactive,password debug3: authmethod_is_enabled publickey debug1: Next authentication method: publickey debug1: Offering public key: /home/tedu/.ssh/id_ed25519 ED25519 SHA256:KQM4nnWGRt2PxBx9AZIST6zCR6j4XQAQLSdpRfm9jfg agent debug3: send packet: type 50 debug2: we sent a publickey packet, wait for reply debug3: receive packet: type 51 debug1: Authentications that can continue: publickey,password,keyboard-interactive debug1: Trying private key: /home/tedu/.ssh/id_rsa debug3: no such identity: /home/tedu/.ssh/id_rsa: No such file or directory debug1: Trying private key: /home/tedu/.ssh/id_dsa debug3: no such identity: /home/tedu/.ssh/id_dsa: No such file or directory debug1: Trying private key: /home/tedu/.ssh/id_ecdsa debug3: no such identity: /home/tedu/.ssh/id_ecdsa: No such file or directory debug1: Trying private key: /home/tedu/.ssh/id_xmss debug3: no such identity: /home/tedu/.ssh/id_xmss: No such file or directory debug2: we did not send a packet, disable method debug3: authmethod_lookup keyboard-interactive debug3: remaining preferred: password debug3: authmethod_is_enabled keyboard-interactive debug1: Next authentication method: keyboard-interactive debug2: userauth_kbdint debug3: send packet: type 50 debug2: we sent a keyboard-interactive packet, wait for reply debug3: receive packet: type 51 debug1: Authentications that can continue: publickey,password,keyboard-interactive debug3: userauth_kbdint: disable: no info_req_seen debug2: we did not send a packet, disable method debug3: authmethod_lookup password debug3: remaining preferred: debug3: authmethod_is_enabled password debug1: Next authentication method: password [email protected]'s password: -rw------- 1 tedu tedu 484 Mar 1 2019 id_ed25519 -rw-r--r-- 1 tedu tedu 116 Mar 1 2019 id_ed25519.pub
