diffie-hellman-group1-sha1
密钥交换方法的服务器:ssh 123.123.123.123
Unable to negotiate with 123.123.123.123 port 22: no matching key exchange method found. Their offer: diffie-hellman-group1-sha1
如何在Debian 8.0上启用
diffie-hellman-group1-sha1
密钥交换方法?我已经尝试(按照此处的建议)
将以下几行添加到我的
/etc/ssh/ssh_config
中KexAlgorithms diffie-hellman-group1-sha1,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1
Ciphers 3des-cbc,blowfish-cbc,aes128-cbc,aes128-ctr,aes256-ctr
用
ssh-keygen -A
重新生成密钥用
service ssh restart
重新启动ssh >但仍然出现错误。#1 楼
OpenSSH网站上有一个专门处理此类遗留问题的页面。它建议在客户端上采用以下方法:ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 123.123.123.123
或更永久地添加
~/.ssh/config
。这将启用客户端上的旧算法,使其能够连接到服务器。
评论
我今天也遇到了这个问题,但这是由于网络。我更改了网络,问题消失了
– Luv33preet
17年6月14日在9:59
上面尝试过,但是无法与192.168.1.123端口22222协商:找不到匹配的密码。他们的报价:aes128-cbc,3des-cbc,aes256-cbc,twofish256-cbc,twofish-cbc,twofish128-cbc,河豚-cbc
–本征场
18年7月31日在22:01
@ifelsemonkey是另一个问题,请注意,您获得的报价与问题中的报价不同。
–斯蒂芬·基特(Stephen Kitt)
18年8月1日在6:20
确认这是另一个问题。通过将以下条目添加到我的〜/ .ssh / config文件中,可以解决该问题。主机192.168.1.123,并在其下密码aes128-ctr,aes192-ctr,aes256-ctr,aes128-cbc,3des-cbc。
–本征场
18年8月1日在17:18
-oKexAlgorithms对我造成了相同的错误(虽然我使用git not ssh)。但是〜/ .ssh / config的方式有效。
–乌鸦
20 Mar 24 '20 at 6:25
#2 楼
我尝试了此解决方案,但问题是我有许多(旧版)客户端连接到我最近升级的服务器(ubuntu 14-> ubuntu 16)。diffie-hellman-group1-sha1
密钥交换方法。阅读此内容后,我想出了需要对
/etc/ssh/sshd_config
文件进行的更改:#Legacy changes
KexAlgorithms +diffie-hellman-group1-sha1
Ciphers +aes128-cbc
但更广泛的传统更改集(从此处获取)
#Legacy changes
KexAlgorithms diffie-hellman-group1-sha1,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1
Ciphers 3des-cbc,blowfish-cbc,aes128-cbc,aes128-ctr,aes256-ctr
评论
希望您能够在某个时候升级您的客户端,由于非常好的原因禁用了旧算法,因此不应轻易重新启用(您可能意识到,我认为值得其他读者注意)。
–斯蒂芬·基特(Stephen Kitt)
17年6月14日在11:10
这在服务器端有效(不同于侧重于客户端的非常相似,已接受的答案)。
–knb
17年9月15日在12:50
我试图使用相同的来启用旧密钥。但是由于我是新手,所以我在编写ssh -oKexAlgorithms = + diffie-hellman-group1-sha1 123.123.123.123时并不真正知道要放置哪个IP。
–优思
18-11-27在8:14
为了增加供将来的人们查找,我将SSH从运行OpenSSH_7.9p1的Mac连接到运行以下Cisco 3750交换机:Cisco IOS软件,C3750软件(C3750-IPSERVICESK9-M),版本12.2(55)SE12,发布软件(fc2)。我将以下内容添加到客户端配置中,并可以使用ssh:KexAlgorithms + diffie-hellman-group1-sha1密码+ aes128-cbc
– DYoung
19 Mar 12 '19 at 4:36
对于许多“内部”服务器(整个网络都锁定于受信任的用户),diffie-hellman完全足够。禁用它无缘无故破坏了许多传统工具,需要花费大量的开发精力来修改没有人看过的传统代码。因此,拥有在服务器端启用它的方法仍然很有价值。
–哈希曼
20-09-1 20:42
#3 楼
我也面临着同样的问题,但是通过执行以下命令解决了它。您可以在不重新启动SSH服务器的情况下做到这一点-问题:
ssh test@123.123.123.123
protocol identification string lack carriage return
Unable to negotiate with 123.123.123.123 port 22: no matching key exchange method found. Their offer: diffie-hellman-group1-sha1
root@shoesdekho#
解决方案:
ssh -o KexAlgorithms=diffie-hellman-group1-sha1 test@123.123.123.123
在其他系统上,我发现使用上述命令也无法正常工作。尝试使用命令添加密码。如下所示查看完整命令-
root@shoesdekho#ssh -o KexAlgorithms=diffie-hellman-group1-sha1 -o Ciphers=aes256-cbc test@123.123.123.123
protocol identification string lack carriage return
Warning: Permanently added '123.123.123.123' (RSA) to the list of known hosts.
Password:
This computer system is restricted to authorized users.
Unauthorized access attempts will be prosecuted.
If unauthorized, disconnect now.
bookmiday#
评论
Debian 9对我来说也一样。试试这个diffie-hellman-group-exchange-sha256
在2020年和Ubuntu 20中,我通过安装腻子解决了这个问题,方法很简单:apt install putty然后使用putty连接到旧服务器...
我无法与192.168.1.1端口22进行协商:找不到匹配的密钥交换方法。他们的报价:curve25519-sha256,curve25519-sha256 @ libssh.org,ecdh-sha2-nistp521,ecdh-sha2-nistp384,ecdh-sha2-nistp256,kexguess2 @ matt.ucc.asn.au,所以我在配置中添加了第一个报价它起作用了