<div dir="ltr">Hi,<div><br></div><div>I have an application using libssh2 that was working fine until I moved to a new server running Ubuntu 20.04 LTS, from one running Ubuntu 18.04 LTS. Now libssh2_session_handshake() on the client fails with result code LIBSSH2_ERROR_KEX_FAILURE and libssh2_session_last_error() reports "Unable to exchange keys".  Auth.log on the server reports: </div><div><br></div><div>sshd[21850]: Unable to negotiate with 104.48.39.9 port 57156: no matching key exchange method found. Their offer: diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1,diffie-hellman-group1-sha1 [preauth]<br></div><div><br></div><div>This seems odd for a few reasons. I rebuilt the client app with the latest version of libssh2, and this is supposed to also support diffie-hellman-group-exchange-sha256, but that wasn't offered. Also the version of openssh on the Ubuntu server supposedly supports the key exchange methods that were offered but apparently rejected. </div><div><br></div><div>I tried adding</div><div>KexAlgorithms +diffie-hellman-group1-sha </div><div>to /etc/ssh_config (and then restarting ssh) but it made no difference.</div><div><br></div><div>I can ssh and sftp to the server using various clients without any problem. The issue is only with trying to sftp using libssh2.</div><div><br></div><div>I'd really appreciate some help with this. I've already spent a lot of time on it.Thanks in advance.</div><div><br></div><div>Matthew Fleming, MD</div><div>Fleming Dermatopathology</div><div>Milwaukee, WI USA</div><div><br></div><div><br></div></div>