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

相关推荐
Rabbit_QL9 分钟前
【Git基础】02——分支:在不破坏主线的情况下做实验
大数据·git·elasticsearch
冰凉小脚22 分钟前
git查询时间范围内的修改提交文件
git
wd5i8kA8i9 小时前
自研多线程 SSH 极速文件传输助手(附 GitHub 源码)
运维·ssh·github
Hsm4sxsBp11 小时前
Git 小妙招:本地忽略文件变更,不影响远程仓库
git
DoUfp0bgq14 小时前
解决RDK X5(ARM64架构)板卡Remote-SSH运行Antigravity AI崩溃(SIGILL):Samba网络盘本地挂载方案
人工智能·架构·ssh
程序猿编码18 小时前
eBPF代理:让SSH进程“溯源”,找到背后的客户端IP
linux·tcp/ip·ssh·ebpf
Learn-Share_HY20 小时前
[IT Network]如何在cisco packet tracer建立ssh的連線?
ubuntu·ssh·switch·cisco·networking·packettracer·networktutorial
数据知道20 小时前
claw-code 源码详细分析:Remote / SSH / Teleport / Deep Link——运行时分支爆炸怎样用「模拟模式」先收束状态机?
运维·ai·ssh·claude code
zh_xuan21 小时前
Android Paging 3实现分页加载
android·git·github·paging 3
hello_fengfeng1 天前
VSCode Remote-SSH 连接失败修复(权限问题)
ide·vscode·ssh