关于将 SSH 密钥添加到您的帐户
您可以使用 SSH(安全外壳协议)访问和写入 GitHub.com 上的存储库中的数据。当您通过 SSH 连接时,您使用本地机器上的私钥文件进行身份验证。有关更多信息,请参阅“关于 SSH”。
您还可以使用 SSH 签署提交和标签。有关提交签名的更多信息,请参阅“关于提交签名验证”。
生成 SSH 密钥对后,您必须将公钥添加到 GitHub.com,以启用对您帐户的 SSH 访问权限。
先决条件
在将新的 SSH 密钥添加到您在 GitHub.com 上的帐户之前,请完成以下步骤。
- 检查现有的 SSH 密钥。有关更多信息,请参阅“检查现有的 SSH 密钥”。
- 生成新的 SSH 密钥并将其添加到您机器的 SSH 代理。有关更多信息,请参阅“生成新的 SSH 密钥并将其添加到 ssh-agent”。
将新的 SSH 密钥添加到您的帐户
您可以添加 SSH 密钥并将其用于身份验证或提交签名,或两者兼而有之。如果您想将同一个 SSH 密钥用于身份验证和签名,则需要上传两次。
在将新的 SSH 身份验证密钥添加到您在 GitHub.com 上的帐户后,您可以重新配置任何本地存储库以使用 SSH。有关更多信息,请参阅“管理远程存储库”。
注意:GitHub 通过在 2022 年 3 月 15 日放弃旧的、不安全的密钥类型来提高安全性。
从该日期起,不再支持 DSA 密钥 (ssh-dss
)。您无法将新的 DSA 密钥添加到您在 GitHub.com 上的个人帐户。
valid_after
在 2021 年 11 月 2 日之前的 RSA 密钥 (ssh-rsa
) 可以继续使用任何签名算法。在该日期之后生成的 RSA 密钥必须使用 SHA-2 签名算法。一些旧的客户端可能需要升级才能使用 SHA-2 签名。
-
将 SSH 公钥复制到剪贴板。
如果您的 SSH 公钥文件与示例代码中的文件名不同,请修改文件名以匹配您当前的设置。复制密钥时,请勿添加任何换行符或空格。
$ pbcopy < ~/.ssh/id_ed25519.pub # Copies the contents of the id_ed25519.pub file to your clipboard
提示:如果
pbcopy
不起作用,您可以找到隐藏的.ssh
文件夹,在您喜欢的文本编辑器中打开该文件,并将内容复制到剪贴板。$ clip < ~/.ssh/id_ed25519.pub # Copies the contents of the id_ed25519.pub file to your clipboard
注意
- 使用 Windows Subsystem for Linux (WSL),您可以使用
clip.exe
。否则,如果clip
不起作用,您可以找到隐藏的.ssh
文件夹,在您喜欢的文本编辑器中打开该文件,并将内容复制到剪贴板。 - 在使用 Windows 终端或其他使用 PowerShell 命令行的较新版本的 Windows 中,您可能会收到
ParseError
错误,提示'<' 运算符保留供将来使用。
在这种情况下,应使用以下替代clip
命令
$ cat ~/.ssh/id_ed25519.pub | clip # Copies the contents of the id_ed25519.pub file to your clipboard
$ cat ~/.ssh/id_ed25519.pub # Then select and copy the contents of the id_ed25519.pub file # displayed in the terminal to your clipboard
提示:或者,您可以找到隐藏的
.ssh
文件夹,在您喜欢的文本编辑器中打开该文件,并将内容复制到剪贴板。 - 使用 Windows Subsystem for Linux (WSL),您可以使用
-
在 GitHub 上任何页面的右上角,点击您的个人资料照片,然后点击设置。
-
在侧边栏的“访问”部分,点击 SSH 和 GPG 密钥。
-
点击新建 SSH 密钥或添加 SSH 密钥。
-
在“标题”字段中,为新密钥添加一个描述性标签。例如,如果您使用的是个人笔记本电脑,您可以将此密钥称为“个人笔记本电脑”。
-
选择密钥类型,可以是身份验证或签名。有关提交签名的更多信息,请参阅“关于提交签名验证”。
-
在“密钥”字段中,粘贴您的公钥。
-
点击添加 SSH 密钥。
-
如果出现提示,请确认您对 GitHub 帐户的访问权限。有关更多信息,请参阅“超级用户模式”。
要了解更多关于 GitHub CLI 的信息,请参阅 "关于 GitHub CLI"。
在使用 GitHub CLI 将 SSH 密钥添加到您的帐户之前,您必须先对 GitHub CLI 进行身份验证。有关更多信息,请参阅 GitHub CLI 文档中的 gh auth login
。
要将 SSH 密钥添加到您的 GitHub 帐户,请使用 ssh-key add
子命令,并指定您的公钥。对于身份验证密钥,如果您被提示请求其他范围,请按照命令行中的说明操作。
gh ssh-key add KEY-FILE --type {authentication|signing}
要为新密钥添加标题,请使用 -t
或 --title
标志。
gh ssh-key add KEY-FILE --title "personal laptop"
如果您按照 "生成新的 SSH 密钥并将其添加到 ssh-agent" 中的说明生成了 SSH 密钥,您可以使用以下命令将密钥添加到您的帐户。
gh ssh-key add ~/.ssh/id_ed25519.pub --type signing