Encryption 什么';id_rsa.pub和id_dsa.pub之间的区别是什么?
一个比另一个更安全吗?一个使用一个使用。Encryption 什么';id_rsa.pub和id_dsa.pub之间的区别是什么?,encryption,ssh,rsa,public-key-encryption,dsa,Encryption,Ssh,Rsa,Public Key Encryption,Dsa,一个比另一个更安全吗?一个使用一个使用。id\u rsa.pub和id\u dsa.pub是id\u rsa和id\u dsa的公钥 如果您是针对SSH进行询问,id\u rsa是一个密钥,可以与SSH协议1或2一起使用,而id\u dsa是一个密钥,只能与SSH协议2一起使用。两者都非常安全,但DSA现在似乎已经成为标准(假设您的所有客户端/服务器都支持SSH 2) 更新:自写入此文件以来,DSA已显示不安全。下面的答案提供了更多信息。使用 id\u rsa是您的私钥(基于素数),它比您的id
id\u rsa.pub
和id\u dsa.pub
是id\u rsa
和id\u dsa
的公钥
如果您是针对SSH
进行询问,id\u rsa
是一个密钥,可以与SSH协议1或2一起使用,而id\u dsa
是一个密钥,只能与SSH协议2一起使用。两者都非常安全,但DSA现在似乎已经成为标准(假设您的所有客户端/服务器都支持SSH 2)
更新:自写入此文件以来,DSA已显示不安全。下面的答案提供了更多信息。使用
id\u rsa
是您的私钥(基于素数),它比您的id\u dsa
私钥(基于指数)更安全。保护您的私钥安全,并广泛共享您的id\u rsa.pub
和id\u dsa.pub
公钥
DSA有一个如果你的计算机的随机数生成器是低于标准的,这将揭示你的秘密密钥。(DSA的椭圆曲线升级)。即使有好的随机数,DSA也有(这些是)
OpenSSH现在创建不安全的1024位密钥() 通过更小的密钥大小提供更高的复杂性。(基于的复杂性)是首选的实施方式,因为它假定没有干预(泄露的文件显示美国) 不幸的是,Ed25519仍然相当新,需要or(请参阅) 当Ed25519不可用时,使用带4096位的RSA 4096位的RSA密钥大小应具有与Ed25519相当的复杂性Ed25519仍然是RSA的首选,因为担心RSA可能会受到与DSA相同的强度问题的攻击,尽管将该漏洞应用于RSA可能会非常困难。是的,RSA被认为更安全 2014年10月,OpenSSH 7(Ubuntu 16.04LTS的默认版本)禁用了对DSA的默认支持。这是一个强烈的信号,表明DSA不再是推荐的方法 rsa被认为更安全 不再是了(2020年5月,十年后),随着 日后弃用通知书 现在可以对SHA-1哈希算法执行选择前缀攻击,费用不到5万美元。
因此,我们将在不久的将来的版本中禁用默认依赖于SHA-1的“ssh rsa”公钥签名算法 (见“Leurent,G和Peyrin,T(2020)) 不幸的是,尽管存在更好的替代方案,但该算法仍然被广泛使用,它是原始SSH RFC指定的唯一剩余公钥签名算法 更好的选择包括:
- RFC8332 RSA SHA-2签名算法RSA-sha2-256/512。
这些算法的优点是使用与“
”相同的密钥类型,但使用安全的SHA-2哈希算法。ssh rsa
从OpenSSH 7.2开始就支持这些功能,如果客户机和服务器支持它们,默认情况下已经使用了这些功能 - ssh-ed25519签名算法。
自6.5版以来,OpenSSH一直支持它 - RFC5656 ECDSA算法:ECDSA-sha2-nistp256/384/521。
自5.7版以来,OpenSSH一直支持这些功能
ssh rsa
算法后尝试连接到该服务器:
ssh -oHostKeyAlgorithms=-ssh-rsa user@host
如果主机密钥验证失败,并且没有其他受支持的主机密钥类型可用,则应升级该主机上的服务器软件
OpenSSH的未来版本将默认启用更新主机密钥,以允许客户端自动迁移到更好的算法。<强>用户可以考虑手动启用此选项>/P>
假设您只是使用默认名称(逻辑上看起来很像),那么Theaterus正好击中了它的头部。您没有回答问题的真正部分:哪个更安全。因为这是最重要的答案,所以投了反对票。不需要。我不同意这一点。今天(虽然程度较轻,也是在2010年发布时),1024位(DSA可用的最大密钥大小)被认为太弱。因此,RSA是更好的选择。至于SSH V1:十年前我没有考虑过这个安全性。@ AdAMKATZ DSA支持2009位以来的2048位和3072位密钥。大多数ssh客户端/服务器支持更大的DSA密钥,包括OpenSSH和PuTTY。大多数密钥生成器也支持更大的DSA密钥,但OpenSSH的ssh keygen仍然不支持(尽管ssh和sshd都支持)。对于Linux,您可以使用OpenSSL生成更大的DSA密钥,如中所述。有趣!我不知道这一点,这当然有助于在这两个领域之间提高水平(尽管缺少OpenSSH支持是非常糟糕的)。不过,我不会说DSA是标准(无论是现在还是2010年),而RSA绝对是(我们正在向Ed25519等椭圆曲线系统过渡)。只有一个更正:自2009年以来,DSA支持2048位和3072位密钥(根据)。更多信息请参见我的评论。InfosecSE有一个更深入的讨论。它引用了一个例子,表明DSA不再安全,即使密钥大小更大。我更新了这个答案,以便更全面地了解DSA的问题。它现在比InfosecSE的答案(同样有效)更详细。当你将鼠标悬停在一些链接上时,会有更多的细节。这篇文章教会了我很多,需要更多的投票。