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

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


当前回答

ssh-add用于显示公钥。

man ssh添加

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

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

ssh-add -L | xclip

其他回答

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

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

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

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

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

或公钥:

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

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

cat~/.ssh/id_rsa.pub或cat~//ssh/id_dsa.pub

您可以通过以下操作列出所有公钥:

$ls~/.ssh/*.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,然后通过剪贴板将密钥粘贴到需要的位置。

idrsa.pub不是一个目录,因此您不能使用cd打开它。

相反,您可以使用命令cd~/.ssh访问包含密钥的文件夹,然后使用cat idrsa.pub、nano idrsa.ub或gedit idrsa..pub访问密钥文件。