ssh连接报错userauth_pubkey: key type ssh-dss not in PubkeyAcceptedKeyTypes [preauth]终极解决方案
解决办法:vi /etc/ssh/sshd_config最后一行添加:PubkeyAcceptedKeyTypes=+ssh-dss重启服务:systemctl restart sshd 另外,如果是RSA不支持的问题,有可能是服务器端,也有可能是客户端有问题,建议放弃RSA,比较麻烦,参考: 另外一种严重的情况,就是阿里云的等保三级的操作系统: 看下支持的私钥格式: 看起来都支持,没问题。可以深入研究官方加密文档: https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/8/html/security_hardening/using-the-system-wide-cryptographic-policies_security-hardening#system-wide-crypto-policies_using-the-system-wide-cryptographic-policies 其中一开始就解释了LEGACY策略级别允许 DSA 算法。事实上,要使使用 DSA 密钥的 SSH 公钥身份验证正常工作(即使没有重新启动sshd),只需要降低兼容性策略命令, 所以,终极解决方案: update-crypto-policies –set LEGACY 是一个用于配置系统加密策略的命令。具体来说,它用于设置系统的加密策略为 LEGACY 模式。详细解释:update-crypto-policies:这是一个用于管理系统范围的加密策略的命令。加密策略定义了系统中各种加密库和工具(如 OpenSSL、GnuTLS、OpenSSH 等)使用的加密算法和协议。–set LEGACY:–set 选项用于指定要设置的加密策略。LEGACY 是一种预定义的加密策略,它允许使用一些较旧、安全性较低的加密算法和协议。这种策略通常用于兼容旧系统或旧应用程序,但可能会降低系统的安全性。加密策略的常见选项:DEFAULT: 默认的加密策略,提供良好的安全性和兼容性。LEGACY: 允许使用一些旧的、安全性较低的加密算法和协议,适用于需要兼容旧系统的场景。FUTURE: 提供更高的安全性,使用更严格的加密算法和协议,但可能会影响与旧系统的兼容性。FIPS: 符合 FIPS(Federal Information Processing Standards)标准的加密策略,适用于需要满足特定安全标准的场景。使用场景:当你需要与旧系统或旧应用程序兼容时,可以使用 LEGACY 策略。但请注意,使用 LEGACY 策略可能会降低系统的安全性,因此应谨慎使用,并在可能的情况下尽快恢复到更安全的策略。示例:sudo update-crypto-policies –set LEGACY执行此命令后,系统的加密策略将被设置为 LEGACY,系统将允许使用一些旧的加密算法和协议。 如果你之后想恢复到默认的加密策略,可以使用以下命令:sudo update-crypto-policies –set DEFAULT 注意事项:更改加密策略可能会影响系统的安全性,因此在生产环境中应谨慎操作。在更改加密策略后,可能需要重启相关服务或系统才能使更改生效。 参考:https://superuser.com/questions/1464574/ssh-connection-issue-on-fedora-30-with-openssh-8-0-using-ssh-dss-still-asking
Copy and paste this URL into your WordPress site to embed
Copy and paste this code into your site to embed