如何解决GitHub 的“id_rsa”密钥文件名称有什么意义吗?
很多关于在 GitHub 上使用 SSH 的教程都假设密钥文件使用默认的 id_rsa
文件名。该特定文件名是否有任何特殊意义,或者应该使用它而不是特定文件名的任何原因,例如github_rsa
?我承认我对该领域的最佳实践非常模糊,而且我在网络搜索中没有发现任何内容表明为什么使用该特定名称,或者保留该名称是否有任何好处它或使用不同的东西。
解决方法
名称 id_rsa
只是 SSH 用于 RSA 密钥的默认文件名。如果您运行 ssh-keygen
并接受所有默认值,它将创建文件 ~/.ssh/id_rsa
。
默认情况下,ssh
命令会查找此文件,因此使用默认名称可减少使工作正常进行所需的额外配置量。
您当然可以将其命名为其他名称,然后将 ssh 配置为为 github 显式使用该密钥。
,要添加到 larsks answer,将创建股票 ssh-keygen:
-
~/.ssh/identity
用于版本 1 RSA -
~/.ssh/id_dsa
用于第 2 版 DSA(do not use this 因为支持已经消失,而且显然还有一些 SHA-1 问题) -
~/.ssh/id_ecdsa
用于椭圆曲线 DSA(do not use this one either 以防您的实现不佳)
等等。当前的建议是使用带有长密钥(2048 位或更多)或 Ed25519(支持较少)的版本 2 RSA。对现代 RSA 的广泛支持导致假设 ~/.ssh/id_rsa
。