📜  git 为 repo 指定 ssh 密钥 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:30:56.925000             🧑  作者: Mango

使用 SSH 密钥为 Git 仓库指定身份验证方式

在 Git 中使用 SSH 密钥可以使身份验证更加安全和便捷。本文将介绍如何为 Git 仓库指定 SSH 密钥。

生成 SSH 密钥

首先,您需要生成一对 SSH 密钥。在 Linux 或 macOS 终端中执行以下命令:

$ ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

此命令将生成一个 4096 位的 RSA 密钥,其中 -C 选项用于指定您的电子邮件地址作为注释。

在生成密钥时,系统可能会提示您输入文件名和加密密码,不过可以一路回车键。

生成密钥后,可以在默认目录 ~/.ssh/ 中找到私钥文件(默认为 id_rsa)和公钥文件(默认为 id_rsa.pub)。

将公钥添加到 Git 托管平台

接下来,需要将公钥添加到您使用的 Git 托管平台中,以便能够将密钥用于身份验证。操作方法可能因不同的平台而有所不同,以下以 GitHub 为例:

  1. 登录GitHub账号;
  2. 在右上角点击头像,选择 Settings > SSH and GPG keys;
  3. 点击 New SSH key 按钮;
  4. 在 Title 中随意填写一个名称,在 Key 中粘贴刚刚生成的公钥(打开 ~/.ssh/id_rsa.pub 文件,复制其全部内容);
  5. 点击 Add SSH key 按钮,完成添加。
在本地配置 Git 使用 SSH 密钥

接下来,需要将密钥告诉 Git 以便使用它来进行身份验证。

在 Linux 或 macOS 终端中执行以下命令:

$ eval "$(ssh-agent -s)"
$ ssh-add ~/.ssh/id_rsa

第一行命令启动 ssh-agent 守护进程,并将其输出设置为环境变量。第二行命令将私钥添加到 ssh-agent 中进行管理,此时可能需要输入私钥的密码。

最后,需要配置 Git 仓库使用 SSH 协议进行访问,即将 HTTP 协议修改为 SSH 协议。

在本地 Git 仓库中运行以下命令:

$ git remote set-url origin git@github.com:username/repo.git

其中 username 是托管平台的用户名,repo 是您要访问的仓库名称。

总结

本文介绍了如何为 Git 仓库指定 SSH 密钥,并且在 Linux 和 macOS 环境中进行了详细说明。通过 SSH 密钥可以更加便捷和安全地进行身份验证,从而保护代码库的安全。