跳至主要内容

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

要在 GitHub.com 上配置您的账户以使用新的(或已有的)SSH 密钥,您还需要将该密钥添加到您的账户中。

平台导航

关于向您的账户添加 SSH 密钥

您可以使用 SSH(安全外壳协议)访问和写入 GitHub 上的仓库数据。通过 SSH 连接时,您会使用本地机器上的私钥文件进行身份验证。更多信息请参阅 关于 SSH

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

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

先决条件

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

  1. 检查是否已有 SSH 密钥。更多信息请参阅 检查现有 SSH 密钥
  2. 生成新的 SSH 密钥并将其添加到机器的 SSH 代理。更多信息请参阅 生成新的 SSH 密钥并将其添加到 ssh-agent

将新 SSH 密钥添加到您的账户

您可以添加 SSH 密钥并将其用于身份验证、提交签名,或两者兼用。如果要将同一 SSH 密钥同时用于身份验证和签名,需要上传两次。

在 GitHub.com 上将新的 SSH 身份验证密钥添加到您的账户后,您可以重新配置任何本地仓库以使用 SSH。更多信息请参阅 管理远程仓库

注意

GitHub 在 2022 年 3 月 15 日通过淘汰旧的、不安全的密钥类型来提升安全性。

自该日期起,DSA 密钥(ssh-dss)不再受支持。您无法向 GitHub 个人账户添加新的 DSA 密钥。

在 2021 年 11 月 2 日之前生成的 RSA 密钥(ssh-rsavalid_after 可以继续使用任何签名算法。该日期之后生成的 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 Terminal 的较新 Windows 版本,或任何使用 PowerShell 命令行的环境中,您可能会收到 ParseError,提示 The '&lt;' operator is reserved for future use.。此时请使用以下替代的 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. 在侧边栏的“Access”部分,点击 SSH 和 GPG 密钥

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

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

  6. 选择密钥类型:身份验证或签名。有关提交签名的更多信息,请参阅 关于提交签名验证

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

  8. 点击 添加 SSH 密钥

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

注意

要了解更多关于 GitHub CLI 的信息,请参阅 关于 GitHub CLI

在使用 GitHub CLI 将 SSH 密钥添加到您的账户之前,必须先对 GitHub CLI 进行身份验证。更多信息请参阅 GitHub CLI 文档中的 gh auth login

要向您的 GitHub 账户添加 SSH 密钥,请使用 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

延伸阅读

© . This site is unofficial and not affiliated with GitHub, Inc.