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

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


当前回答

将密钥复制到剪贴板。

$ pbcopy < ~/.ssh/id_rsa.pub
# Copies the contents of the id_rsa.pub file to your clipboard

警告:在不添加换行或空白。谢天谢地,pbcopy命令使完美地执行此设置。

并将其粘贴到需要的位置。

有关该过程的更多详细信息,请参阅:生成SSH密钥。

其他回答

在UBUNTU+18.04

         ssh-keygen -o -t rsa -b 4096 -C "email@example.com" 

然后复制并粘贴

         cat ~/.ssh/id_rsa.pub 

or

         cat ~/.ssh/id_dsa.pub

如果您使用的是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密钥。

ssh-add用于显示公钥。

man ssh添加

-L  Lists public key parameters of all identities currently repre‐
    sented by the agent.

在我的Linux系统上,我使用xclip复制它

ssh-add -L | xclip

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

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

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

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