You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

生成2048位DSA密钥对并添加至authorized_keys遇阻求助

2048位DSA密钥无法实现SSH免密登录的原因及可行性分析

一、2048位DSA用于SSH免密是否可行?

不可行。SSH协议中定义的DSA算法(标识为ssh-dss)仅支持1024位密钥长度,这是SSH核心规范(RFC 4253)明确限定的。即便通过OpenSSL生成了2048位的DSA密钥对,SSH客户端和服务端也不会识别这种非标准长度的密钥,无法用于身份验证。

二、你的操作问题出在哪里?

你生成2048位DSA密钥并转换格式的流程本身没有语法错误,但核心问题是:

  • SSH服务端会直接拒绝不符合规范的2048位DSA公钥,不会将其纳入authorized_keys的有效验证密钥列表,因此即使公钥已添加,登录时仍会要求输入密码。
  • 额外的DER格式公钥导出步骤完全多余,ssh-keygen -y已经可以直接生成SSH兼容的公钥,但这无法解决密钥长度不被支持的根本问题。

三、推荐替代方案

如你计划的那样,改用RSA是合理的选择,建议生成4096位的RSA密钥以保证安全性:

ssh-keygen -t rsa -b 4096 -N ""

此外,更推荐使用Ed25519密钥(安全性更高、性能更好),生成命令为:

ssh-keygen -t ed25519 -N ""

生成后通过ssh-copy-id将公钥部署到目标主机,即可正常实现免密登录。

内容的提问来源于stack exchange,提问作者H.C

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 07:17:08