id_rsa.pub和id_dsa.pub有什么区别?

比另一个更安全吗?

id_rsa.pub和id_dsa.pub是id_rsa和id_dsa的公钥。 如果您要求使用SSH,则id_rsa是RSA密钥,可以与SSH协议1或2一起使用,而id_dsa是DSA密钥,只能与SSH协议2一起使用。两者都非常安全,但是DSA可以似乎是现在的标准(假设所有客户/服务器都支持SSH 2)。

SSH使用公钥/私钥对 ,因此id_rsa是您的RSA私钥(基于素数),比您的id_dsa DSA私钥(基于指数) 更安全 。 保持你的私钥安全,并广泛地分享你的id_rsa.pubid_dsa.pub公钥。

DSA是不安全的

如果您的计算机的随机数字发生器是sub par,那么DSA会有一个可以猜测的参数 ,这将显示您的密钥。 ECDSA (DSA的椭圆曲线升级) 同样易受攻击 。 即使有很好的随机数字,DSA还有其他的强度问题 PDF ( 也见于Diffie-Hellman )。

OpenSSH创build不安全的1024位密钥( 解决方法 ) ,现在默认禁用DSA 。

尽可能使用Ed25519

椭圆曲线密码学提供更小的密钥尺寸增加的复杂性。 Ed25519 (基于平面模型椭圆曲线的复杂性)是其首选的实现,因为它假定缺乏干扰(泄露的文件显示美国国家安全局削弱了encryption标准 )。

不幸的是,Ed25519还是比较新的,需要OpenSSH 6.5或者GnuPG 2.1 ( 完整列表 )。

当Ed25519不可用时,使用4096位的RSA

RSA密钥大小为4096位,与Ed25519的复杂度相当。

由于担心RSA可能容易受到与DSA相同的强度问题的影响,Ed25519仍然比RSA更受欢迎,尽pipe将该漏洞应用于RSA预计会相当困难。

是的,rsa被认为更安全。

2014年10月,OpenSSH 7(Ubuntu 16.04LTS的默认设置)禁用了对DSA的默认支持。 以此为强烈的信号,DSA不再是推荐的方法。

https://www.gentoo.org/support/news-items/2015-08-13-openssh-weak-keys.html

一个使用DSA ,一个使用RSA 。