我得到了一个闪亮的新 OL9,并且我需要连接到一些旧式服务器,如 CentOS 5。
OL9 SSH 客户端不支持 CentOS 5 支持的传统密码:
[opc@vm1 ~]$ ssh legacyServer
Unable to negotiate with 10.0.0.138 port 22: no matching key exchange method found. Their offer: diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
看完这个页面后:OpenSSH 旧版选项
尝试过这样的方法:
[opc@vm1 ~]$ ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 legacyServer
ssh_dispatch_run_fatal: Connection to 10.0.0.138 port 22: error in libcrypto
我希望我没有遗漏其他东西来/etc/crypto-policies/back-ends
启用传统密码。
谢谢!
答案1
我找到了自己的答案: 如何在 CentOS 9 Stream 上使用旧式 ssh-rsa 密钥? 和这个: ssh 在带有 openssl 3.0.1 的 almaLinux 9 上失败(libcrypto 中出现错误)#18420
对我来说,解决方案是以 root 身份运行此命令:
update-crypto-policies --set LEGACY
这是一个可以进行更改的 Python 工具/etc/crypto-policies
,主要通过更改 中的符号链接/etc/crypto-policies/back-ends/
来更改不同的配置文件/usr/share/crypto-policies/back-ends
。