为什么在创建SSH密钥as instructed by github时应该使用选项-t rsa
,-b 4096
和-C "myemail@example.com"
?如果我创建没有这些选项的SSH密钥,它的安全性会降低吗?如果是这样,为什么?
令我沮丧的是,这些选项很难记住(它是4096还是4095?哪个标志与数字一起出现,哪个标志与“ rsa”值一起出现?哪个标志出现在我的电子邮件前面?是难道不是大写字母吗?),创建新密钥可能是经常的活动,例如,如果尝试使用bitbucket和gitlab以及其他云托管提供商,那么该操作就很常见。
[更新]
手册页指出:“要生成的密钥类型由-t选项指定。如果不带任何参数调用,则ssh-keygen将生成用于SSH协议2连接的RSA密钥。”
为什么github页会指定-t rsa
?
答案 0 :(得分:2)
-t
和-b
是ssh-keygen实用程序附带的参数。
-t (类型)
指定用于生成密钥的算法。
可用的算法是-
rsa
,dsa
,ecdsa
-b (位)
指定编号。密钥大小的位数。
这些是1024
,更早2048
。
2048 * 2 = 4096
被认为很强。因此,建议使用密钥大小。
2048
位被认为足以用于RSA密钥。如果您不提及-b
标志,这是默认的密钥大小。
rsa
- Rivest–Shamir–Adleman
dsa
-数字签名算法。密钥大小通常为1024。
ecdsa
-椭圆曲线数字签名算法-支持三种密钥大小:256、384和521位。
对于不同的公共密钥密码算法中的不同数字,您将不得不探索信息安全/加密/对称算法域。