掘金文章归档 · 第 27 篇 Git / 工程化 系列 6/8 GitLab · GitHub

一台电脑同时设置公司的 GitLab 及自己的 GitHub 的 SSH

双 SSH 密钥 + config 配置,同时管理不同账户

原文作者:随意_(掘金) | juejin.cn/post/7188065068603916349 | 发布于 2023-01-13 | 阅读 477 · 约 2 分钟

0为什么设置 2 个 ssh

公司一般会搭建 GitLab 来管理代码,你会分配一个 lab 账号,一般为公司的邮箱。同时你也有自己的 GitHub,平时自己的代码维护学习一类的需要使用自己的 GitHub 账号,这就涉及到管理两个 ssh 配置的问题。

1设置 GitLab 的 ssh

  1. 创建密钥:安装 Git,打开 git bash,在本地创建 ssh key(邮箱要是你登录 GitLab 的邮箱):
ssh-keygen -t rsa -C "公司邮箱@gongsi.com"
  1. 选择存放位置:回车后出现 Enter file which to save the key,是选择存放你 ssh key 的位置,直接 Enter 回车。注:如果是第一次使用 git 可以不看这句备注;如果已经有过 id_rsa 存在的话,git 会提醒你是否覆盖 id_rsa,输入 y 即可。途中如有需要账号密码输入即可,Windows 下生成的 ssh 会在用户目录的 .ssh 文件夹下;
  2. 查看生成文件:打开 .ssh 会有以下两个文件生成:id_rsa(私钥)、id_rsa.pub(公钥);
  3. 复制公钥:找到 id_rsa.pub,复制里面的 ssh,去 GitLab 设置 ssh:登录 lab 账号 → 设置 → SSH Keys → 粘贴公钥。
GitLab 设置页面截图占位:用户设置 → SSH Keys → 粘贴公钥保存

2设置 GitHub 的 ssh

  1. 创建密钥(用不同文件名区分):
$ ssh-keygen -t rsa -C "自己的邮箱@163.com"
  1. 自定义文件名:回车后出现 Enter file which to save the key,输入:
github_id_rsa
  1. 设置密码:回车后出现 Enter Passphrase,输入你在 GitHub 登录时输入的密码(注意大小写),回车确认,再输入一次密码;
  2. 复制公钥:出现了 randomart image,接下来的步骤就是复制生成的 ssh key。找到刚才的 ssh 存放目录,找到 github_id_rsa.pub,去 GitHub 设置 ssh(Settings → SSH and GPG keys → New SSH key)。

3设置 config 配置文件

ssh 文件夹里面创建 config 文件,输入内容:

Host gitlab
    HostName '公司的gitlab地址'
    User 公司的lab用户名(一般是邮箱)
    IdentityFile ~/.ssh/id_rsa

Host github.com
    HostName github.com
    User hub的用户名
    IdentityFile ~/.ssh/github_id_rsa
📌 config 文件把"Host 别名 → HostName 域名 → IdentityFile 私钥"绑定起来,Git 连接时按别名自动匹配对应密钥。
✅ 打开 VSCode,即可同时管理 GitHub 和 GitLab 账号了。