GitToolsShareASshKey

GitToolsShareASshKey
Astro-yGitHub、Gitee、Gitlab共用一个SSH密钥配置
一、说明
这里简单说下原理:
- 第一步,设置全局邮箱和用户名,这个没什么好说的
- 第二步,生产ssh,我下面给的命令没有 -C 指定邮箱这项,原因就是我三个git仓库的邮箱都不同,如果加上-C的话就要生成三个ssh,这不是我想要的,所以我就想到了不指定邮箱,这样一试,果然成了。
- 我们看生产的ssh密钥最后面,其实还是自动指定了邮箱:默认是
用户名@主机名,这样这一个ssh就能在所有的git仓库中使用了,如果使用-C指定了邮箱,那么生产的ssh密钥最后的邮箱就是你指定的,但同时这个ssh密钥只能用于你指定的邮箱的仓库。
二、配置SSH
1.设置全局邮箱和用户名
1 | 设置全局邮箱,这里的邮箱仅仅表明你的身份,与github、gitee上注册的邮箱可以不一样 |
配置完后就会发现用户(C:\Users\你的系统用户名)下面多了一个.gitconfig,打开看,里面的内容就是你配置的 邮箱和用户名
2.生成全局ssh
1 | 生产ssh密钥,一直回车即可(三次) |
可以看到,默认的ssh文件路径为C:\Users\OMaster.ssh,在下面有两个文件:id_rsa和id_rsa.pub,id_rsa.pub里 面就是我们要的ssh密钥
| 步骤 | 提示内容 | 推荐操作 |
|---|---|---|
| 1 | 保存文件路径 | 回车(默认),或自定义路径 |
| 2 | 输入 passphrase(私钥密码) | 空密码回车,或自定义密码 |
| 3 | 再次确认 passphrase | 与上一步一致或空密码回车 |
Tip:设置了每次 Git 操作都要求输入私钥密码
解决方案:
使用 ssh-agent 缓存密码
1 | 启动 ssh-agent |
添加成功后,你后续 Git 操作就不会再提示你输入密码,直到你注销或重启。
三、GitHub、Gitee配置ssh
1.GitHub配置
(1)配置
进入Github设置中的SSH keys页面,点击 New SSH key 按钮,输入我们的title和key,由于我们配置的是整个系统的ssh,因此这里可以填写我们系统的用户名,key填写上面说到的id_rsa.pub文件里面的ssh密钥,然后点击add按钮
(2)验证
1 | 在你电脑的任何地方打开git bash窗口,输入如下命令 |
注意,首次使用这个命令会需要你确认,添加到主机的SSH信任列表,如下,输入yes即可
2. Gitee配置
Gitee配置和验证整体上与Github相同,这里简单说下。
(1)配置
访问Gitee的ssh配置页面,直接输入标题、公钥,确定即可
(2)验证
1 | 在你电脑的任何地方打开git bash窗口,输入如下命令 |


