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命令说明

相关推荐
寺中人10 小时前
Xshell 完全入门指南:从安装到实战,远程连接+文件传输+会话管理全拆解
git·ssh·github·php·远程连接·xshell·运维工具
酬谢神明则必安11 小时前
git学习记录01
linux·git·学习
lingchen190611 小时前
版本控制 Git源代码项目管理
git
虫无涯11 小时前
Coverity 如何结合 GJB8114-2013使用?
git·单元测试·嵌入式测试·coverity·静态扫描
喵本喵叁肆15 小时前
Git 深度解读:从对象模型到分支指针,把版本控制的内核讲透
git
阿钱真强道1 天前
课时00 嵌入式技术应用设计实训 | 开发环境搭建与开发板认识
git·hal库·keil·vs code·开发环境搭建·stm32f103·st-link
Julien20042 天前
Docker 网络(一)
linux·运维·服务器·ssh·学习方法
老李IT笔记2 天前
激活锁状态怎么检测:三个入口,四种返回值,一份排查顺序
git·智能手机·github
Joecien2 天前
【2026实测】百炼 CLI 托管 Agent 教程:bl managed-agent 配置校验、版本回滚与变更预演(附完整命令)
人工智能·git·阿里云·知识图谱·agi
ggaofeng3 天前
精简版ssh(去掉认证和加密流程,更清晰的展示远程登录的底层实现)
运维·ssh