Hi, Quick update, I did a bit of digging around and found when nothing added to HostKeyAlgorithms the list will reorder: "debug3: order_hostkeyalgs: prefer hostkeyalgs: ssh-rsa-cert-v01@xxxxxxxxxxx,rsa-sha2-512,rsa-sha2-256,ssh-rsa". This doesn't happen in the case when HostKeyAlgorithms has something defined. Looking at the code I see that this is deliberate, just curious is there a reason for implementing like this. Also, I forgot to mention I have strict check on. Any helpful information will be much appreciated. Thanks, Mahoda On 8 September 2016 at 09:47, Mahoda Ratnayaka <mahodardev@xxxxxxxxx> wrote: > Thanks for the reply, the client is using 7.2 and the server is on 6.6 > version. And, here are the debug files attached. > > Thanks, > Mahoda > > With Change: > ============================================================ > ============================= > OpenSSH_7.2p2, OpenSSL 1.0.2h 3 May 2016 > debug1: Reading configuration data /etc/ssh/ssh_config > debug2: resolving "192.168.1.1" port 22 > debug2: ssh_connect_direct: needpriv 0 > debug1: Connecting to 192.168.1.1 [192.168.1.1] port 22. > debug1: Connection established. > debug1: permanently_set_uid: 0/0 > debug1: key_load_public: No such file or directory > debug1: identity file /flash/.home/root/.ssh/identity type -1 > debug1: key_load_public: No such file or directory > debug1: identity file /flash/.home/root/.ssh/identity-cert type -1 > debug1: key_load_public: No such file or directory > debug1: identity file /flash/.home/root/.ssh/id_rsa type -1 > debug1: key_load_public: No such file or directory > debug1: identity file /flash/.home/root/.ssh/id_rsa-cert type -1 > debug1: key_load_public: No such file or directory > debug1: identity file /flash/.home/root/.ssh/id_dsa type -1 > debug1: key_load_public: No such file or directory > debug1: identity file /flash/.home/root/.ssh/id_dsa-cert type -1 > debug1: key_load_public: No such file or directory > debug1: identity file /flash/.home/root/.ssh/id_ecdsa type -1 > debug1: key_load_public: No such file or directory > debug1: identity file /flash/.home/root/.ssh/id_ecdsa-cert type -1 > debug1: Enabling compatibility mode for protocol 2.0 > debug1: Local version string SSH-2.0-AtiSSH_2.0 > debug1: Remote protocol version 2.0, remote software version > OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.8 > debug1: match: OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.8 pat OpenSSH_6.6.1* compat > 0x04000000 > debug2: fd 3 setting O_NONBLOCK > 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@xxxxxxxxxx, > ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521, > diffie-hellman-group-exchange-sha256,diffie-hellman-group- > exchange-sha1,diffie-hellman-group14-sha1,ext-info-c > debug2: host key algorithms: ecdsa-sha2-nistp256-cert-v01@xxxxxxxxxxx, > ecdsa-sha2-nistp384-cert-v01@xxxxxxxxxxx,ecdsa-sha2-nistp521-cert-v01@ > openssh.com,ssh-ed25519-cert-v01@xxxxxxxxxxx,ssh-rsa-cert-v01@xxxxxxxxxxx > ,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh- > ed25519,rsa-sha2-512,rsa-sha2-256,ssh-rsa,ssh-dss > debug2: ciphers ctos: chacha20-poly1305@xxxxxxxxxxx, > aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@xxxxxxxxxxx,aes > 256-gcm@xxxxxxxxxxx,aes128-cbc,aes192-cbc,aes256-cbc,3des-cbc > debug2: ciphers stoc: chacha20-poly1305@xxxxxxxxxxx, > aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@xxxxxxxxxxx,aes > 256-gcm@xxxxxxxxxxx,aes128-cbc,aes192-cbc,aes256-cbc,3des-cbc > debug2: MACs ctos: umac-64-etm@xxxxxxxxxxx,umac-128-etm@xxxxxxxxxxx, > hmac-sha2-256-etm@xxxxxxxxxxx,hmac-sha2-512-etm@xxxxxxxxxxx,hmac-sha1- > etm@xxxxxxxxxxx,umac-64@xxxxxxxxxxx,umac-128@xxxxxxxxxxx > ,hmac-sha2-256,hmac-sha2-512,hmac-sha1 > debug2: MACs stoc: umac-64-etm@xxxxxxxxxxx,umac-128-etm@xxxxxxxxxxx, > hmac-sha2-256-etm@xxxxxxxxxxx,hmac-sha2-512-etm@xxxxxxxxxxx,hmac-sha1- > etm@xxxxxxxxxxx,umac-64@xxxxxxxxxxx,umac-128@xxxxxxxxxxx > ,hmac-sha2-256,hmac-sha2-512,hmac-sha1 > debug2: compression ctos: none,zlib@xxxxxxxxxxx,zlib > debug2: compression stoc: none,zlib@xxxxxxxxxxx,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@xxxxxxxxxx, > ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521, > diffie-hellman-group-exchange-sha256,diffie-hellman-group- > exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1 > debug2: host key algorithms: ssh-rsa,ssh-dss,ecdsa-sha2- > nistp256,ssh-ed25519 > debug2: ciphers ctos: aes128-ctr,aes192-ctr,aes256- > ctr,arcfour256,arcfour128,aes128-gcm@xxxxxxxxxxx,aes256-gcm@xxxxxxxxxxx, > chacha20-poly1305@xxxxxxxxxxx,aes128-cbc,3des- > cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour, > rijndael-cbc@xxxxxxxxxxxxxx > debug2: ciphers stoc: aes128-ctr,aes192-ctr,aes256- > ctr,arcfour256,arcfour128,aes128-gcm@xxxxxxxxxxx,aes256-gcm@xxxxxxxxxxx, > chacha20-poly1305@xxxxxxxxxxx,aes128-cbc,3des- > cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour, > rijndael-cbc@xxxxxxxxxxxxxx > debug2: MACs ctos: hmac-md5-etm@xxxxxxxxxxx,hmac-sha1-etm@xxxxxxxxxxx, > umac-64-etm@xxxxxxxxxxx,umac-128-etm@xxxxxxxxxxx,hmac-sha2-256-etm@ > openssh.com,hmac-sha2-512-etm@xxxxxxxxxxx,hmac-ripemd160-etm@xxxxxxxxxxx, > hmac-sha1-96-etm@xxxxxxxxxxx,hmac-md5-96-etm@xxxxxxxxxxx,hmac-md5,hmac- > sha1,umac-64@xxxxxxxxxxx,umac-128@xxxxxxxxxxx,hmac-sha2-256, > hmac-sha2-512,hmac-ripemd160,hmac-ripemd160@xxxxxxxxxxx, > hmac-sha1-96,hmac-md5-96 > debug2: MACs stoc: hmac-md5-etm@xxxxxxxxxxx,hmac-sha1-etm@xxxxxxxxxxx, > umac-64-etm@xxxxxxxxxxx,umac-128-etm@xxxxxxxxxxx,hmac-sha2-256-etm@ > openssh.com,hmac-sha2-512-etm@xxxxxxxxxxx,hmac-ripemd160-etm@xxxxxxxxxxx, > hmac-sha1-96-etm@xxxxxxxxxxx,hmac-md5-96-etm@xxxxxxxxxxx,hmac-md5,hmac- > sha1,umac-64@xxxxxxxxxxx,umac-128@xxxxxxxxxxx,hmac-sha2-256, > hmac-sha2-512,hmac-ripemd160,hmac-ripemd160@xxxxxxxxxxx, > hmac-sha1-96,hmac-md5-96 > debug2: compression ctos: none,zlib@xxxxxxxxxxx > debug2: compression stoc: none,zlib@xxxxxxxxxxx > debug2: languages ctos: > debug2: languages stoc: > debug2: first_kex_follows 0 > debug2: reserved 0 > debug1: kex: algorithm: curve25519-sha256@xxxxxxxxxx > debug1: kex: host key algorithm: ecdsa-sha2-nistp256 > debug1: kex: server->client cipher: chacha20-poly1305@xxxxxxxxxxx MAC: > <implicit> compression: none > debug1: kex: client->server cipher: chacha20-poly1305@xxxxxxxxxxx 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: > IwZ3AJCkBnQypTalkkezSSXShPg/+1eEDgHS65R8dN0 > debug3: hostkeys_foreach: reading file "/flash/.home/root/.ssh/known_ > hosts" > debug3: hostkeys_foreach: reading file "/flash/.configs/ssh/ssh_ > known_hosts" > debug3: record_hostkey: found key type RSA in file > /flash/.configs/ssh/ssh_known_hosts:2 > debug3: load_hostkeys: loaded 1 keys from 192.168.1.1 > @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ > @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ > @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ > IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! > Someone could be eavesdropping on you right now (man-in-the-middle attack)! > It is also possible that a host key has just been changed. > The fingerprint for the ECDSA key sent by the remote host is > SHA256:IwZ3AJCkBnQypTalkkezSSXShPg/+1eEDgHS65R8dN0. > Please contact your system administrator. > ECDSA host key for 192.168.1.1 has changed and you have requested strict > checking. > Host key verification failed. > ============================================================ > ============================================================ > ===================== > > Without change: > ============================================================ > ============================================================ > ===================== > OpenSSH_7.2p2, OpenSSL 1.0.2h 3 May 2016 > debug1: Reading configuration data /etc/ssh/ssh_config > debug2: resolving "192.168.1.1" port 22 > debug2: ssh_connect_direct: needpriv 0 > debug1: Connecting to 192.168.1.1 [192.168.1.1] port 22. > debug1: Connection established. > debug1: permanently_set_uid: 0/0 > debug1: key_load_public: No such file or directory > debug1: identity file /flash/.home/root/.ssh/identity type -1 > debug1: key_load_public: No such file or directory > debug1: identity file /flash/.home/root/.ssh/identity-cert type -1 > debug1: key_load_public: No such file or directory > debug1: identity file /flash/.home/root/.ssh/id_rsa type -1 > debug1: key_load_public: No such file or directory > debug1: identity file /flash/.home/root/.ssh/id_rsa-cert type -1 > debug1: key_load_public: No such file or directory > debug1: identity file /flash/.home/root/.ssh/id_dsa type -1 > debug1: key_load_public: No such file or directory > debug1: identity file /flash/.home/root/.ssh/id_dsa-cert type -1 > debug1: key_load_public: No such file or directory > debug1: identity file /flash/.home/root/.ssh/id_ecdsa type -1 > debug1: key_load_public: No such file or directory > debug1: identity file /flash/.home/root/.ssh/id_ecdsa-cert type -1 > debug1: Enabling compatibility mode for protocol 2.0 > debug1: Local version string SSH-2.0-AtiSSH_2.0 > debug1: Remote protocol version 2.0, remote software version > OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.8 > debug1: match: OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.8 pat OpenSSH_6.6.1* compat > 0x04000000 > debug2: fd 3 setting O_NONBLOCK > debug3: hostkeys_foreach: reading file "/flash/.home/root/.ssh/known_ > hosts" > debug3: hostkeys_foreach: reading file "/flash/.configs/ssh/ssh_ > known_hosts" > debug3: record_hostkey: found key type RSA in file > /flash/.configs/ssh/ssh_known_hosts:2 > debug3: load_hostkeys: loaded 1 keys from 192.168.1.1 > debug3: order_hostkeyalgs: prefer hostkeyalgs: > ssh-rsa-cert-v01@xxxxxxxxxxx,rsa-sha2-512,rsa-sha2-256,ssh-rsa > 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@xxxxxxxxxx, > ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521, > diffie-hellman-group-exchange-sha256,diffie-hellman-group- > exchange-sha1,diffie-hellman-group14-sha1,ext-info-c > debug2: host key algorithms: ssh-rsa-cert-v01@xxxxxxxxxxx, > rsa-sha2-512,rsa-sha2-256,ssh-rsa,ecdsa-sha2-nistp256-cert-v01@xxxxxxxxxxx > ,ecdsa-sha2-nistp384-cert-v01@xxxxxxxxxxx,ecdsa-sha2-nistp521-cert-v01@ > openssh.com,ssh-ed25519-cert-v01@xxxxxxxxxxx,ecdsa-sha2- > nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-ed25519 > debug2: ciphers ctos: chacha20-poly1305@xxxxxxxxxxx, > aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@xxxxxxxxxxx,aes > 256-gcm@xxxxxxxxxxx,aes128-cbc,aes192-cbc,aes256-cbc,3des-cbc > debug2: ciphers stoc: chacha20-poly1305@xxxxxxxxxxx, > aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@xxxxxxxxxxx,aes > 256-gcm@xxxxxxxxxxx,aes128-cbc,aes192-cbc,aes256-cbc,3des-cbc > debug2: MACs ctos: umac-64-etm@xxxxxxxxxxx,umac-128-etm@xxxxxxxxxxx, > hmac-sha2-256-etm@xxxxxxxxxxx,hmac-sha2-512-etm@xxxxxxxxxxx,hmac-sha1- > etm@xxxxxxxxxxx,umac-64@xxxxxxxxxxx,umac-128@xxxxxxxxxxx > ,hmac-sha2-256,hmac-sha2-512,hmac-sha1 > debug2: MACs stoc: umac-64-etm@xxxxxxxxxxx,umac-128-etm@xxxxxxxxxxx, > hmac-sha2-256-etm@xxxxxxxxxxx,hmac-sha2-512-etm@xxxxxxxxxxx,hmac-sha1- > etm@xxxxxxxxxxx,umac-64@xxxxxxxxxxx,umac-128@xxxxxxxxxxx > ,hmac-sha2-256,hmac-sha2-512,hmac-sha1 > debug2: compression ctos: none,zlib@xxxxxxxxxxx,zlib > debug2: compression stoc: none,zlib@xxxxxxxxxxx,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@xxxxxxxxxx, > ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521, > diffie-hellman-group-exchange-sha256,diffie-hellman-group- > exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1 > debug2: host key algorithms: ssh-rsa,ssh-dss,ecdsa-sha2- > nistp256,ssh-ed25519 > debug2: ciphers ctos: aes128-ctr,aes192-ctr,aes256- > ctr,arcfour256,arcfour128,aes128-gcm@xxxxxxxxxxx,aes256-gcm@xxxxxxxxxxx, > chacha20-poly1305@xxxxxxxxxxx,aes128-cbc,3des- > cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour, > rijndael-cbc@xxxxxxxxxxxxxx > debug2: ciphers stoc: aes128-ctr,aes192-ctr,aes256- > ctr,arcfour256,arcfour128,aes128-gcm@xxxxxxxxxxx,aes256-gcm@xxxxxxxxxxx, > chacha20-poly1305@xxxxxxxxxxx,aes128-cbc,3des- > cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour, > rijndael-cbc@xxxxxxxxxxxxxx > debug2: MACs ctos: hmac-md5-etm@xxxxxxxxxxx,hmac-sha1-etm@xxxxxxxxxxx, > umac-64-etm@xxxxxxxxxxx,umac-128-etm@xxxxxxxxxxx,hmac-sha2-256-etm@ > openssh.com,hmac-sha2-512-etm@xxxxxxxxxxx,hmac-ripemd160-etm@xxxxxxxxxxx, > hmac-sha1-96-etm@xxxxxxxxxxx,hmac-md5-96-etm@xxxxxxxxxxx,hmac-md5,hmac- > sha1,umac-64@xxxxxxxxxxx,umac-128@xxxxxxxxxxx,hmac-sha2-256, > hmac-sha2-512,hmac-ripemd160,hmac-ripemd160@xxxxxxxxxxx, > hmac-sha1-96,hmac-md5-96 > debug2: MACs stoc: hmac-md5-etm@xxxxxxxxxxx,hmac-sha1-etm@xxxxxxxxxxx, > umac-64-etm@xxxxxxxxxxx,umac-128-etm@xxxxxxxxxxx,hmac-sha2-256-etm@ > openssh.com,hmac-sha2-512-etm@xxxxxxxxxxx,hmac-ripemd160-etm@xxxxxxxxxxx, > hmac-sha1-96-etm@xxxxxxxxxxx,hmac-md5-96-etm@xxxxxxxxxxx,hmac-md5,hmac- > sha1,umac-64@xxxxxxxxxxx,umac-128@xxxxxxxxxxx,hmac-sha2-256, > hmac-sha2-512,hmac-ripemd160,hmac-ripemd160@xxxxxxxxxxx, > hmac-sha1-96,hmac-md5-96 > debug2: compression ctos: none,zlib@xxxxxxxxxxx > debug2: compression stoc: none,zlib@xxxxxxxxxxx > debug2: languages ctos: > debug2: languages stoc: > debug2: first_kex_follows 0 > debug2: reserved 0 > debug1: kex: algorithm: curve25519-sha256@xxxxxxxxxx > debug1: kex: host key algorithm: ssh-rsa > debug1: kex: server->client cipher: chacha20-poly1305@xxxxxxxxxxx MAC: > <implicit> compression: none > debug1: kex: client->server cipher: chacha20-poly1305@xxxxxxxxxxx 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: ssh-rsa SHA256:UWb75G/ > DzMWOCH4KNR4As0lYcpI1POgD7TEX9iXYSLA > debug3: hostkeys_foreach: reading file "/flash/.home/root/.ssh/known_ > hosts" > debug3: hostkeys_foreach: reading file "/flash/.configs/ssh/ssh_ > known_hosts" > debug3: record_hostkey: found key type RSA in file > /flash/.configs/ssh/ssh_known_hosts:2 > debug3: load_hostkeys: loaded 1 keys from 192.168.1.1 > debug1: Host '192.168.1.1' is known and matches the RSA host key. > debug1: Found key in /flash/.configs/ssh/ssh_known_hosts:2 > debug3: send packet: type 21 > debug2: set_newkeys: mode 1 > debug1: rekey after 134217728 blocks > debug1: SSH2_MSG_NEWKEYS sent > debug1: expecting SSH2_MSG_NEWKEYS > debug3: receive packet: type 21 > debug2: set_newkeys: mode 0 > debug1: rekey after 134217728 blocks > debug1: SSH2_MSG_NEWKEYS received > debug2: key: /flash/.home/root/.ssh/identity ((nil)) > debug2: key: /flash/.home/root/.ssh/id_rsa ((nil)) > debug2: key: /flash/.home/root/.ssh/id_dsa ((nil)) > debug2: key: /flash/.home/root/.ssh/id_ecdsa ((nil)) > debug3: send packet: type 5 > 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 > debug3: start over, passed a different list publickey,password > 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: Trying private key: /flash/.home/root/.ssh/identity > debug3: no such identity: /flash/.home/root/.ssh/identity: No such file > or directory > debug1: Trying private key: /flash/.home/root/.ssh/id_rsa > debug3: no such identity: /flash/.home/root/.ssh/id_rsa: No such file or > directory > debug1: Trying private key: /flash/.home/root/.ssh/id_dsa > debug3: no such identity: /flash/.home/root/.ssh/id_dsa: No such file or > directory > debug1: Trying private key: /flash/.home/root/.ssh/id_ecdsa > debug3: no such identity: /flash/.home/root/.ssh/id_ecdsa: No such file > or directory > debug2: we did not send a packet, disable method > debug3: authmethod_lookup password > debug3: remaining preferred: ,password > debug3: authmethod_is_enabled password > debug1: Next authentication method: password > ============================================================ > ============================================================ > =================== > > > On 7 September 2016 at 16:53, Darren Tucker <dtucker@xxxxxxxxxx> wrote: > >> On Wed, Sep 7, 2016 at 1:59 PM, Mahoda Ratnayaka <mahodardev@xxxxxxxxx> >> wrote: >> > I'm having a problem when I add "HostKeyAlgorithms +ssh-dss" to the >> > ssh_config file the host key will always negotiate to a wrong one. In my >> > case it will negotiate to "ecdsa-sha2-nistp256". The client was already >> > configured with the servers rsa public key, before the change I added to >> > the ssh_config file I could see from the debug that server and client >> will >> > negotiate to use ssh-rsa as expected. After change unfortunately the >> client >> > and server will negotiate to use ecdsa-sha2-nistp256, then later will >> > complain "REMOTE HOST IDENTIFICATION HAS CHANGED" and fail. I got around >> > this by adding the ecdsa public key to the know hosts. >> >> What version of OpenSSH is this? Can you post debug output (ssh -vvv) >> with and without the +ssh-dss option? >> >> -- >> Darren Tucker (dtucker at zip.com.au) >> GPG key 11EAA6FA / A86E 3E07 5B19 5880 E860 37F4 9357 ECEF 11EA A6FA >> (new) >> Good judgement comes with experience. Unfortunately, the experience >> usually comes from bad judgement. >> > > _______________________________________________ openssh-unix-dev mailing list openssh-unix-dev@xxxxxxxxxxx https://lists.mindrot.org/mailman/listinfo/openssh-unix-dev