我刚刚生成了RSA密钥对,我想将该密钥添加到GitHub。

我尝试了cd id_rsa.pub和id_rsa.php,但没有成功。如何访问SSH公钥?


当前回答

生成SSH密钥后,可以执行以下操作:

cat .ssh/id_rsa.pub |pbcopy

它会将ssh密钥复制到剪贴板中。

其他回答

以下是我如何在OS X上找到我的:

打开终端(您位于主目录中)cd.ssh(隐藏目录)pbcopy<id_rsa.pub(将其复制到剪贴板)

如果这不起作用,请执行ls并查看扩展名为.pub的文件。

在终端cat~/.ssh/id_rsa.pub上

解释

cat是一个标准的Unix实用程序,用于读取文件和打印输出~是您的家庭用户路径/.ssh-隐藏目录包含所有ssh证书id_rsa.pub或id_dsa.pub是rsa公钥(位于客户机上的私钥)。例如,可以使用主键将项目从远程存储库安全地克隆到客户端。

如果您使用的是Windows PowerShell,最简单的方法是:

cat ~/.ssh/id_<key-type-here>.pub | clip

这会将密钥复制到剪贴板以便于粘贴。

因此,在我的例子中,我使用了ed25519,因为RSA现在相当容易被破解:

cat ~/.ssh/id_ed25519.pub | clip

因为我发现自己经常这样做,所以我创建了一个函数并设置了一个可以在PowerShell配置文件中记住的简单别名(在此处了解有关PowerShell配置文件的更多信息。只需将此添加到Microsoft.PowerShell_profile.ps1:

function Copy-SSHKey {
    Get-Content ~/.ssh/id_ed25519.pub | clip
}

Set_Alias -Name sshkey -Value Copy-SSHKey

然后,在PowerShell控制台中运行$配置文件以加载函数。从现在起,您需要做的就是运行sshkey,然后通过剪贴板将密钥粘贴到需要的位置。

您可以尝试运行以下命令以显示RSA指纹:

ssh-agent sh -c 'ssh-add; ssh-add -l'

或公钥:

ssh-agent sh -c 'ssh-add; ssh-add -L'

如果您收到消息:“代理没有身份。”,然后必须首先通过ssh-keygen生成RSA密钥。

如果使用的是windows,命令是:

键入%userprofile%\.ssh\id_rsa.pub

它应该打印密钥(如果你有)。你应该复制整个结果。如果不存在,则执行以下操作:

ssh密钥生成-t rsa-C“your.email@example.com“-b 4096