[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Problem verifying known host with ecdsa-sha2-nistp256


I'm running into a problem where ssh_server_is_known() is returning
SSH_SERVER_FOUND_OTHER with a ecdsa-sha2-nistp256 key in the
~/.ssh/known_hosts file.  The server is a relatively modern AWS Linux
machine.  When I ssh to localhost, a key of type ecdsa-sha2-nistp256 gets
written into the ~/.ssh/known_hosts file.  From thereafter, I can ssh to
localhost without it asking any questions.

However, when I try to establish an ssh connection to localhost with my
program written with libssh (both 0.6.3 and trunk), ssh_server_is_known()
returns SSH_SERVER_FOUND_OTHER.  Stepping into this function, the key type
check on this line:

      /* We got a match. Now check the key type */
=>    if (strcmp(session->current_crypto->server_pubkey_type, type) != 0) {
          SSH_LOG(SSH_LOG_PACKET,
fails.  The values for session->current_crypto->server_pubkey_type and type
are as follows:

(gdb)
*p session->current_crypto->server_pubkey_type*$15 = 0x7ffff7bcb967
"ssh-rsa"
(gdb)
*p type*$16 = 0x7fffe4007f6d "ecdsa-sha2-nistp256"
Am I not setting up the session properly in my program, or is this a
problem with libssh?

- Doug

Follow-Ups:
Re: Problem verifying known host with ecdsa-sha2-nistp256Doug Judd <doug@xxxxxxxxxxxxxx>
Archive administrator: postmaster@lists.cynapses.org