原文連接:https://mycyberuniverse.com/error/no-matching-key-exchange-method-found-openssh7.htmlhtml
What causes this problem
OpenSSH 7.0 deprecated the diffie-hellman-group1-sha1
key algorithm because it is weak and within theoretical range of the so-called Logjam attack. See the www.openssh.com/legacy.html page for more information.shell
If the client and server are unable to agree on a mutual set of parameters then the connection will fail. OpenSSH (7.0 and greater) will produce an error message like this:ssh
Unable to negotiate with host: no matching key exchange method found. Their offer: diffie-hellman-group1-sha1
In this case, the client and server were unable to agree on the key exchange algorithm because the server offered only a single method diffie-hellman-group1-sha1
.this
How to fix it
The best resolution for these failures is to upgrade/configure the server to not use deprecated algorithms. If that is not possible, you can force the client to re-enable the diffie-hellman-group1-sha1
key exchange algorithm with the -oKexAlgorithms=+diffie-hellman-group1-sha1
option on the command-line:url
ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 user@host
or in the ~/.ssh/config
file:spa
Host somehost.example.org
KexAlgorithms +diffie-hellman-group1-sha1
注意:這裏的兩行代碼分開寫,另外Host後面的網址不要用IP地址代替(若是dns沒法解析就在hosts文件中添加便可).net
If this article helped you solve the problem then please leave a comment. code
Thanks for reading!orm