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

相关推荐
谢尔登1 小时前
通用会话控制方案
前端·网络协议·tcp/ip·react.js·gitlab
海域云赵从友7 小时前
2025年印尼服务器选型指南:跨境业务落地的合规与性能双解
人工智能·git·github
不会写代码的里奇8 小时前
VMware Ubuntu 22.04 NAT模式下配置GitHub SSH完整教程(含踩坑实录+报错_成功信息对照)
linux·经验分享·笔记·git·ubuntu·ssh·github
wa的一声哭了10 小时前
Linux服务器配置ssh免密登陆多台服务器、服务器别名配置
linux·运维·服务器·网络·arm开发·python·ssh
qinyia11 小时前
Wisdom SSH:AI助手可用的运维工具详解,帮助理解提升人机合作效率
运维·服务器·人工智能·ssh
木子杳衫11 小时前
【Git】处理报错原因
git
SHIPKING39311 小时前
【Git】2025全图文详解安装教程
git
无限进步_12 小时前
C语言atoi函数实现详解:从基础到优化
c语言·开发语言·c++·git·后端·github·visual studio
地球没有花1 天前
gitlab cicd首次操作
运维·git·ci/cd·gitlab
一念一花一世界1 天前
Jenkins VS GitLab CI/CD VS Arbess,CI/CD工具选型指南
ci/cd·gitlab·jenkins·arbess