Git - 生成 SSH 密钥



用户通过使用 SSH 公钥来验证 Git 服务器身份,如果他们还没有 SSH 公钥,则需要生成一个。

  • 在所有操作系统上,SSH 密钥的生成方式相同。

  • 用户需要确保在生成新的密钥之前已经拥有一个密钥。

  • 用户的 **~/.ssh** 目录默认包含 SSH 密钥。

使用以下命令列出 **~/.ssh** 目录的内容,并检查您是否已拥有 SSH 密钥:

$ cd ~/.ssh
$ ls
authorized_keys2  id_dsa       known_hosts
config            id_dsa.pub

要使用 Git 服务生成 SSH 密钥以进行安全身份验证,您需要按照以下步骤操作:

1. 打开终端

在您各自的操作系统上打开终端,例如 Windows 上的 Git Bash。

2. 生成 SSH 密钥

要使用 RSA(推荐)生成新的 SSH 密钥对,密钥大小为 4096 位,请运行以下命令:

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
  • **-t rsa** - 指定要创建的密钥类型 (RSA)。

  • **-b 4096** - 指定位数,其中 4096 用于强加密。

  • **-C "your_email@example.com"** - 指定与 SSH 密钥关联并用于识别的电子邮件 ID。

3. 指定位置

为了保存密钥,系统会要求您指定位置。您可以指定所需位置,也可以按 Enter 键接受提供的默认位置 **~/.ssh/id_rsa**。

Enter file in which to save the key (/home/your_user/.ssh/id_rsa):

4. 设置密码短语(可选)

也可以添加密码短语,虽然是可选的,但它增加了额外的安全层。此步骤甚至可以跳过。

Enter passphrase (empty for no passphrase):

5. 查看生成的 SSH 密钥

按照上述步骤操作后,您的 SSH 密钥对将被创建。您将有两个文件,一个用于私钥,另一个用于公钥。

  • **私钥** - 您需要妥善保管此文件,不要共享它 **~/.ssh/id_rsa**

  • **公钥** - 您需要与服务共享此文件 **~/.ssh/id_rsa.pub**

6. 将 SSH 密钥添加到 SSH 代理

为了确保 SSH 密钥可用于 Git 服务,您需要将其添加到 SSH 代理。

  • 启动代理。

    eval "$(ssh-agent -s)"
  • 添加您的密钥。

    ssh-add ~/.ssh/id_rsa

7. 复制公钥

将公钥文件 **id_rsa.pub** 的内容添加到您的 Git 服务(GitHub、GitLab、BitBucket 等)。您可以使用以下命令显示公钥:

cat ~/.ssh/id_rsa.pub

选择并复制要添加到 Git 服务的输出。实际的公钥内容是一长串字符 (AAAAB3NzaC1yc2EAAAABIwAAAQEA2kLx2K5DwsUgrA8WqA+zm4e5+JY1ZqD0Gi?.......)。

8. 将 SSH 密钥添加到 Git 服务

GitHub

要将 SSH 密钥添加到 GitHub,请转到 **设置 > SSH 和 GPG 密钥,然后单击“新建 SSH 密钥”。**

GitLab

要将 SSH 密钥添加到 GitLab,请转到 **个人资料设置 > SSH 密钥,然后粘贴公钥。**

BitBucket

要将 SSH 密钥添加到 BitBucket,请转到 **个人设置 > SSH 密钥,然后添加新密钥。**

将密钥添加到您的 Git 服务后,您可以使用 SSH 克隆、推送和拉取存储库。

广告
© . All rights reserved.