【版本控制】Github和Gitlab同时使用ssh

前言

最近在使用 WSL 时会同时用到 GitHub和 Gitlab ,因此与传统配置 ssh 方式有些不一样的地方,这里特别记录一下

本地生成公私密钥

首先确保把之前的 ssh 信息清除,也可以将整个 ~/.ssh 目录删除

bash 复制代码
rm -rf ~/.ssh/*

我们分别生成 Github 和 Gitlab账号的 SSH 密钥

  • Github 生成密钥
bash 复制代码
ssh-keygen -t rsa -C 2053731441@qq.com -f ~/.ssh/github_id-rsa
  • Gitlab 生成密钥
bash 复制代码
ssh-keygen -t rsa -C wangyuqiang@rt-thread.com -f ~/.ssh/gitlab_id-rsa

注意不要选择其他操作,一路回车即可

此时打开 ~/.ssh/ 目录可以看到生成了四个文件:github_id-rsa github_id-rsa.pub gitlab_id-rsa gitlab_id-rsa.pub

其中 .pub 后缀的文件为公钥,需要上传到远程仓库SSH;没有后缀的则是私钥,本地留存

远程仓库 SSH 填写公钥密钥

我们先打开 Github 的 Settings选项,然后选择 SSH and GPG keys->New SSH keyTitle可以随意拟定,Key需要查看刚刚的 github_id-rsa.pub 文件,并且复制到 Gitlab 的key一栏中;

Gitlab 的操作方式与 Github 类似,具体步骤:

打开 Gitlab -> 用户设置 -> SSH密钥 ,在密钥一栏填入 gitlab_id-rsa.pub文件中的具体值,标题自拟即可。

配置不同 Host 的 SSH Key

回到 ~/.ssh/ 目录下,并且创建一个名为 config 的文件,在该文件中填写以下具体代码,其中部分参数依照自己的信息填写:

bash 复制代码
#github
Host github.com
    Hostname ssh.github.com
    Port 443
    User git
    IdentityFile ~/.ssh/github_id-rsa

#gitlab
host rt-thread.com
    Hostname git.rt-thread.com
    User git
    IdentityFile ~/.ssh/gitlab_id-rsa

验证

使用下面的命令分别验证 Github 和 Gitlab的 SSH 配置

  • Github SSH 验证
bash 复制代码
ssh -T git@github.com
  • Gitlab SSH 验证
bash 复制代码
ssh -T git@rt-thread.com

如果出现如下提示即表示远程仓库 SSH 公钥和本地 SSH 密钥配对成功

相关推荐
CoderJia程序员甲4 小时前
GitHub 热榜项目 - 日榜(2026-1-12)
ai·开源·大模型·github·ai教程
企业对冲系统官10 小时前
基差风险管理系统日志分析功能的架构与实现
大数据·网络·数据库·算法·github·动态规划
企业对冲系统官13 小时前
基差风险管理系统集成说明与接口规范
大数据·运维·python·算法·区块链·github
企业对冲系统官14 小时前
大宗商品风险对冲系统统计分析功能的技术实现
运维·python·算法·区块链·github·pygame
Allen-Steven16 小时前
群辉NAS 部署小雅 SSH指令版
运维·ssh
m0_7381207216 小时前
渗透测试——y0usef靶机渗透提权详细过程(插件伪造请求头)
服务器·网络·web安全·ssh·php
做cv的小昊17 小时前
3DGS加速&压缩指标评测方法、高斯数量变化曲线绘制——Training Time、FPS、Gaussian Number、Peak Memory
笔记·计算机视觉·3d·开源·github·图形渲染·3dgs
PellyKoo19 小时前
VS Code Remote-SSH 连接时提示“ 无法监视文件更改,请按照说明链接来解决此问题”解决方法
运维·ssh
CoderJia程序员甲19 小时前
GitHub 热榜项目 - 日榜(20260116)
ai·开源·大模型·github·ai教程
旷野说21 小时前
服务端一键配置 zsh:手工运维起飞(原生 · 安全 · 极简)
ssh