如何优雅的使用ssh-key访问多个git仓库

背景

最近公司给换了新电脑,又要重新整理环境了。自己管理的代码在各种远程仓库都有存储:

a、gitee账号:用于自己进行一些开发活动;

b、gitlab账号:公司私有git服务;

c、github账号:用于自己关注学习开源项目;

如何优雅的配置,就能同时访问3个远程仓库呢?问了身边的同事,配置五花八门的(不配置,使用http;一个仓库配置一个秘钥),其实共用一个ssh密钥对就好了,把公钥配置到各个仓库账号中

要在客户端上配置SSH以访问GitLab,你需要遵循以下步骤。这个过程涉及到生成SSH密钥对、将公钥添加到你的GitLab账户中,并在Windows系统上配置SSH以使用这个密钥。

步骤 1: 生成SSH密钥对

  1. 打开命令提示符(或PowerShell);
  2. 输入以下命令来生成新的SSH密钥对(如果你已经有密钥,可以跳过这一步);
bash 复制代码
ssh-keygen -t rsa -b 4096 -C "秘钥标识"
  • sh-keygen:这是生成 SSH 密钥对的命令行工具。
  • -t rsa:指定密钥类型为 RSA。
  • -b 4096:指定密钥长度为 4096 位。较长的密钥长度提供了更高的安全性。
  • -C "秘钥标识":添加注释,用于标识密钥对。这里的"秘钥标识"是一个字符串,可以根据需要自定义,用于描述密钥的用途或拥有者。
  1. 根据提示,选择一个文件路径来保存密钥(例如,C:\Users\YourUsername.ssh\id_rsa),或者直接按回车使用默认路径。
  2. 为你的密钥设置一个密码(可选),这将增加安全性,但每次使用密钥时都需要输入密码,建议不设置

步骤 2: 复制公钥到剪贴板

  1. 打开文件资源管理器,导航到你的私钥文件所在的位置(例如C:\Users\YourUsername.ssh\)。
  2. 找到你的公钥文件(通常是id_rsa.pub),右键点击它,选择"编辑"打开。
  3. 全选公钥内容(通常是几行文本,以ssh-rsa开头),然后复制。

步骤 3: 将公钥添加到GitLab账户

这里以gitee为例,其他git服务器配置类似

  1. 登录到你的Gitee账户。
  2. 进入"用户设置"(通常在页面右上角,点击你的头像或用户名)。
  3. 选择"SSH Keys"选项。
  4. 点击"Add Key"按钮。
  5. 将之前复制的公钥粘贴到"Key"字段中。
  6. 更新标题(例如"My Work Laptop",默认为生成密码是的 -c 的内容),然后点击"Add Key"。

步骤 4: 在Windows上配置SSH以使用这个密钥

  1. 打开或创建C:\Users\YourUsername.ssh\config文件(如果没有这个文件,就创建一个,config是一个无扩展名的文件)。
  2. 在文件中添加以下内容来配置你的GitLab服务器:
txt 复制代码
Host gitee.com 
    HostName gitee.com
    User git 
    IdentityFile C:\Programs\ssh-config\id_rsa 
    IdentitiesOnly yes

确保 IdentityFile 的路径正确指向你的私钥文件。

  1. 保存并关闭文件。

说明: 添加一个远程仓库,就在config文件中添加一份上述配置,主要Host 和 HostName 要设置为对应的域名

步骤 5: 测试SSH连接

  1. 在命令提示符或PowerShell中,运行以下命令来测试SSH连接:
bash 复制代码
ssh -T git@gitee.com
  1. 如果一切设置正确,你应该会看到一条消息,确认你已成功连接到GitLab。

通过以上步骤,你应该能够在Windows客户端上配置SSH以访问GitLab了。如果遇到任何问题,检查路径、权限和配置文件是否有误。

相关推荐
即使再小的船也能远航2 小时前
【Git】实用Git操作指南:从入门到高效协作
git
<但凡.13 小时前
Git 完全手册:从入门到团队协作实战(4)
git·bash
SugarPPig13 小时前
Git 创建一个完全没有提交历史的 master 分支
git
贺贺丿1 天前
Docker4-容器化企业级应用
linux·nginx·docker·云原生·eureka·tomcat·ssh
彦楠1 天前
win通过OpenSSL生成.ssh id_rsa密钥方法
运维·ssh
lb29171 天前
git的使用,推送仓库github
git·github
躲在云朵里`1 天前
Git的使用
大数据·git·elasticsearch
猫头虎2 天前
[精选] 2025最新生成 SSH 密钥和 SSL 证书的标准流程(Linux/macOS/Windows系统服务器通用方案)
linux·服务器·开发语言·macos·ssh·ssl·ai编程
悟能不能悟2 天前
在 IntelliJ IDEA 中打开这个用于设置 Git 用户名(Name)和邮箱(Email)的特定弹窗
java·git·intellij-idea
闲看云起2 天前
如何将多台电脑用统一账户连接服务器
服务器·安全·ssh