Git多账号管理通过ssh 公钥的方式,git,gitlab,gitee

按照目前国内访问git,如果不科学上网,我们很大可能访问会超时。基于这个,所以我现在的git 配置已经增加到了3个了

一个公司gitlab,一个git,一个gitee.

以下基于这个环境,我们来说明下如何创建配置ssh公钥。

以下操作都基于win11系统

操作步骤

  • [1. 生成SSH密钥](#1. 生成SSH密钥)
  • [2. SSH密钥添加到ssh-agent](#2. SSH密钥添加到ssh-agent)
  • SSH公钥添加
  • [3. 全局SSH配置添加](#3. 全局SSH配置添加)
  • [4. SSH密钥验证](#4. SSH密钥验证)

1. 生成SSH密钥

bash 复制代码
 ssh-keygen -t rsa  -C "your_email@example.com"

这一步生成过程中,可以给rsa文件取文件名,默认的话则是id_rsa ,这时我们可以看到我们的.ssh/目录底下多了两个文件,一个id_rsa,一个id_rsa.pub

2. SSH密钥添加到ssh-agent

注意这里如果是win系统可能会启动报错,出现1058,这里解决方案可以参考我这篇文章

bash 复制代码
ssh-agent -s 
# rsa_path 代表的是你生成的rsa文件 ,比如我的是 C:\Users\.ssh
ssh-add  rsa_path

SSH公钥添加

我们登录到我们的git | gitee | gitlab 个人中心进行ssh进行添加,我给个示例

比如gitee ,如下,点击设置,点击ssh公钥,
我们把第一步生成的rsa.pub,用记事本打开,复制到图中标记位置,到这里我们就将我们的公钥添加完成了。

3. 全局SSH配置添加

到我们的.ssh 目录底下,找到config文件,我们编辑它

输入如下配置,有几个,具体可参看以下示例配置

bash 复制代码
# 个人github 账号
Host github.com 
HostName github.com
# 这里填写你自己的名称
User yourname

# 这里填写你的SSH私钥路径
IdentityFile C:\Users\xxxx\.ssh\id_rsa
PreferredAuthentications publickey
IdentitiesOnly yes

# 公司account
# 这里配置你公司的gitlab域名
Host company.io
HostName gitlab.company.io
User yourname
# 这里填写你的SSH私钥路径
IdentityFile C:\Users\xxxx\.ssh\company_rsa
PreferredAuthentications publickey
IdentitiesOnly yes


# gitee 账号

Host gitee.com
HostName gitee.com
User yourname

IdentityFile C:\Users\xxxx\.ssh\gitee_rsa
PreferredAuthentications publickey
IdentitiesOnly yes

4. SSH密钥验证

bash 复制代码
ssh -T git@gitee.com

如果测试正常

以上就是多账号管理配置的具体操作了。

参考文档:
github官网 SSH命令说明

相关推荐
kuroomi18 小时前
Git入门
git·kubernetes
daliucheng18 小时前
lazygit 上手:日常 git 操作一篇讲完
git
西风测评20 小时前
安全的自动更新怎么做:minisign 签名、先验签后解析与防回滚
rust·ssh
codigger20 小时前
大厂git提交规范
git·程序员
挖掘狂人21 小时前
六条分支,一条主干:我的 Git 分支管理心得
git·后端·程序员
Brookty1 天前
Git与GitHub系统学习|本地Git工作模型:终端与进程、CWD、HEAD/Index/工作树及Git对象
git·github
2301_767113982 天前
点过“不再询问”就要检查:Claude Code权限文件也可能存着密钥
git·信息安全·claude code
程序员初一2 天前
Linux 远程桌面有四种做法
linux·ssh
程序开发阿元2 天前
1C1G 能跑什么:把留常驻服务和不留摆进一张内存表
linux·ssh
江屿风2 天前
【Git-组件】【Git入门:从文档灾难到版本掌控】流食般投喂
运维·笔记·git·组件·版本控制