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

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


当前回答

Mac、Ubuntu、Linux兼容机器,使用此命令打印公钥,然后复制:

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

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

解释

cat是一个标准的Unix实用程序,用于读取文件和打印输出~是您的家庭用户路径/.ssh-隐藏目录包含所有ssh证书id_rsa.pub或id_dsa.pub是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

Mac、Ubuntu、Linux兼容机器,使用此命令打印公钥,然后复制:

$ cat ~/.ssh/id_rsa.pub

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

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

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