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

前言

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

本地生成公私密钥

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

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

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

  • Github 生成密钥
bash 复制代码
ssh-keygen -t rsa -C [email protected] -f ~/.ssh/github_id-rsa
  • Gitlab 生成密钥
bash 复制代码
ssh-keygen -t rsa -C [email protected] -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 [email protected]
  • Gitlab SSH 验证
bash 复制代码
ssh -T [email protected]

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

相关推荐
小华同学ai38 分钟前
1K star!这个开源项目让短信集成简单到离谱,开发效率直接翻倍!
后端·程序员·github
ON.LIN1 小时前
Git提交本地项目到Github
git·github
uhakadotcom2 小时前
使用 Model Context Protocol (MCP) 构建 GitHub PR 审查服务器
后端·面试·github
uhakadotcom2 小时前
Apache Airflow入门指南:数据管道的强大工具
算法·面试·github
uhakadotcom2 小时前
Ruff:Python 代码分析工具的新选择
后端·面试·github
uhakadotcom2 小时前
Mypy入门:Python静态类型检查工具
后端·面试·github
uhakadotcom3 小时前
构建高效自动翻译工作流:技术与实践
后端·面试·github
只是橘色仍温柔5 小时前
xshell可以ssh连接,但vscode不行
运维·vscode·ssh
uhakadotcom5 小时前
AWS Lightsail 简介与实践
后端·面试·github
uhakadotcom7 小时前
OpenAI 的 PaperBench:AI 研究复现基准测试工具
算法·面试·github