当我们需要从 github 上克隆项目时,是需要在本地生成对应的 rsa 秘钥和公钥的,然后将公钥配置到对应的 github 账号里。

生成 rsa 秘钥和公钥的命令如下。如果是 windows 系统,可以在 git bash 里执行这个命令;如果是 mac os 系统,可以直接在终端里执行这个命令。

ssh-keygen -t rsa -C "你的邮箱地址"
1

输入这个命令后回车,会先看到提示 “是否要更改 rsa 文件的保存地址”,如果不输入直接回车,就会使用括号内的默认地址。

接着会提示 “是否需要设置密码”,不需要的话直接回车就行了。

这样就成功生成了对应的 rsa 秘钥和公钥文件,它们的默认文件名分别是 id_rsa 和 id_rsa.pub。将公钥文件 id_rsa.pub 中的内容复制后配置到 github 上,就可以愉快的克隆项目下来学习啦。

不过,在实际开发过程中,还会遇到这样一种情况,就是一台电脑上需要存储多个 git 账号的 rsa 秘钥,比如公司的 git 账号需要用公司邮箱去生成对应的 rsa 秘钥和公钥,而 github 需要用自己的邮箱去生成对应的 rsa 秘钥和公钥。

此时可以这么操作:

  1. 在生成新的 rsa 秘钥和公钥的时候,指定新的文件名称。可以按照下图这种方式指定文件名称:

也可以直接在生成的时候使用 -f 参数指定文件名称:

ssh-keygen -t rsa -C "你的邮箱地址" -f id_rsa_xxx
1
  1. 然后,在 .ssh 目录下的 config 文件中做以下配置,将每份秘钥文件跟对应的 git 网址进行对应。

# gitlab
Host git.xxx.cn # 公司的 gitlab 域名
HostName git.xxx.cn
PreferredAuthentications publickey
IdentityFile /c/users/ws/.ssh/id_rsa_gitlab

# gitee
Host gitee.com
HostName gitee.com
PreferredAuthentications publickey
IdentityFile /c/users/ws/.ssh/id_rsa_gitee
1
2
3
4
5
6
7
8
9
10
11

这样就可以自由克隆不同 git 网站上的项目啦。

上次更新时间: 2024年03月06日 19:16:43