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

相关推荐
Sylus_sui5 小时前
git中如何从某次历史提交节点上创建一个新的分支
git·算法·哈希算法
时光Autistic5 小时前
【安装教程】Git安装完整步骤
git·github
小楼v5 小时前
一篇学会在IDEA中的Git常用操作及冲突的解决方法
git·后端
早川9197 小时前
什么是Git,以及其有什么作用呢?
git
-拟墨画扇-8 小时前
Git | 变基操作
git·gitee·github·gitcode
007php0078 小时前
Git 操作偏门指南:常用和隐藏命令与问题解决
java·git·面试·职场和发展·golang·jenkins·php
可爱又迷人的反派角色“yang”9 小时前
GitLab配置与git集成实践
linux·网络·git·docker·云计算·gitlab
Apifox.10 小时前
Apifox 12 月更新| AI 生成用例同步生成测试数据、接口文档完整性检测、设计 SSE 流式接口、从 Git 仓库导入数据
前端·人工智能·git·ai·postman·团队开发
LucidX10 小时前
从零搭建Jenkins+GitLab持续集成环境:详细教程
ci/cd·gitlab·jenkins
m0_4856146711 小时前
GitLab基础管理
gitlab