如何将 SSH 密钥添加到 GitHub/Bitbucket 帐户
通常,存储库是私有的,开发人员需要编写用户名和密码才能执行与远程存储库相关的任何操作。
将 SSH 密钥添加到 GitHub/Bitbucket 帐户有助于系统识别身份,并且我们不会每次都被要求输入用户名和密码。
打开终端并输入以下命令:
cat ~/.ssh/id_rsa.pub
现在,它将在终端中打印 SSH 密钥,以便我们可以复制它。
如何将 SSH 密钥添加到 GitHub 帐户
- 登录 GitHub 帐户。在任何页面的右上角,单击个人资料照片,然后单击设置。
- 在用户设置侧列中,单击 SSH 和 GPG 密钥。
- 单击新建 SSH 密钥按钮。
- 输入标题和 SSH 密钥,然后按添加 SSH 密钥按钮。
如何将 SSH 密钥添加到 Bitbucket 帐户
- 登录 Bitbucket 帐户。在任何页面的左下角,单击个人资料照片,然后单击个人设置。
- 在个人设置侧列中,单击 SSH 密钥。
- 单击添加密钥按钮。
- 键入标题和添加键,然后按添加键按钮。
现在我们已将 PC 的 SSH 密钥添加到 GitHub/Bitbucket 帐户。
检查 PC 的 SSH 密钥
我们可以按照以下步骤进行操作。
键入 ls -al ~/.ssh 以查看 ssh 密钥:
ls -al ~/.ssh
默认情况下,公钥的文件名是以下之一:
id_ecdsa.pub id_ed25519.pub id_rsa.pub
SSH 密钥被视为安全shell (SSH) 网络协议的访问凭证。
它是一种经过加密和认证的安全网络协议,适用于在不安全网络上运行的机器之间的远程通信。
此代码将找到 PC 上的 kbd class="highlighted">SSH 密钥(如果存在)、生成新的 SSH 密钥并了解如何将其添加到 ssh-agent 或者 GitHub/Bitbucket 帐户。
生成新的 SSH 密钥
如果我们没有 SSH 密钥,则应该创建它。
现在让我们一步一步地生成一个新的 SSH 密钥。
使用 GitHub 帐户电子邮件键入以下命令:
ssh-keygen -t rsa -b 4096 -C "[your github's email]"
运行此命令后,我们将被要求设置 SSH 密钥路径,但我们建议我们通过按“Enter”按钮使用其默认值。
> Enter a file in which to save the key (/Users/you/.ssh/id_rsa): [Press enter]
之后,它会为我们提供插入密码以保护 SSH 密钥。
> Enter passphrase (empty for no passphrase): [Type a passphrase] > Enter same passphrase again: [Type passphrase again]
为什么我们需要 SSH 密钥(适用于 Linux 和 OSX)
SSH 密钥是 SSH 协议 (Secure Shell) 中使用的访问凭证,该协议是一种网络协议,有助于从一台计算机安全地登录到另一台计算机,以及管理网络、操作系统和配置。
如果我们使用 Git 并希望从远程存储库克隆任何内容,则必须选择以下两种方式之一:HTTPS 或者 SSH。
如果我们使用 HTTPS,则每次与远程存储库通信时都必须键入帐户访问权限,或者更改配置并填写帐户数据(访问权限)。
另一种现代方法是使用 SSH 身份验证方法。
许多版本控制系统都使用它来通过命令行访问服务器等。
SSH 密钥对可用于身份验证而不是密码。
每个密钥对由一个私钥和一个对应的公钥组成。
当我们为 Git 使用 SSH 密钥时,我们会通知 Git 这台 PC 已针对该 GitHub 帐户进行了身份验证,并且它永远不会再询问我们是否有任何访问权限,因为我们已经为其提供了 SSH 密钥。
将 SSH 密钥添加到 ssh-agent
现在,当我们已经拥有 SSH 密钥时,我们可以将其添加到 ssh-agent 中。
- 确保 ssh-agent 已启用:
eval "$(ssh-agent -s)"
- 将 SSH 密钥添加到 ssh-agent。
ssh-add ~/.ssh/id_rsa
如果我们在生成 SSH 密钥时更改了默认路径,现在我们需要提及该路径而不是 ~/.ssh/id_rsa。