跳至主要内容

将新的 SSH 密钥添加到您的 GitHub 帐户

要配置您的 GitHub.com 帐户以使用您的新(或现有)SSH 密钥,您还需要将密钥添加到您的帐户。

平台导航

关于将 SSH 密钥添加到您的帐户

您可以使用 SSH(安全外壳协议)访问和写入 GitHub.com 上的存储库中的数据。当您通过 SSH 连接时,您使用本地计算机上的私钥文件进行身份验证。有关更多信息,请参阅“关于 SSH”。

您还可以使用 SSH 签署提交和标签。有关提交签名的更多信息,请参阅“关于提交签名验证”。

生成 SSH 密钥对后,您必须将公钥添加到 GitHub.com,以启用帐户的 SSH 访问权限。

先决条件

在将新的 SSH 密钥添加到 GitHub.com 上的帐户之前,请完成以下步骤。

  1. 检查现有的 SSH 密钥。有关更多信息,请参阅“检查现有的 SSH 密钥”。
  2. 生成新的 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 签名。

  1. 将 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 错误,提示 '&lt;' 运算符保留供将来使用。 在这种情况下,应使用以下替代 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 文件夹,在您喜欢的文本编辑器中打开该文件,然后将其复制到剪贴板。

  2. 在 GitHub 上任何页面的右上角,点击您的个人资料照片,然后点击设置

  3. 在侧边栏的“访问”部分,点击 SSH 和 GPG 密钥

  4. 点击新建 SSH 密钥添加 SSH 密钥

  5. 在“标题”字段中,为新密钥添加一个描述性标签。例如,如果您使用的是个人笔记本电脑,则可以将此密钥命名为“个人笔记本电脑”。

  6. 选择密钥类型,无论是身份验证还是签名。有关提交签名的更多信息,请参阅“关于提交签名验证”。

  7. 在“密钥”字段中,粘贴您的公钥。

  8. 点击添加 SSH 密钥

  9. 如果出现提示,请确认您对 GitHub 帐户的访问权限。有关更多信息,请参阅“Sudo 模式”。

要了解有关 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

进一步阅读