当前位置: 首页 > news >正文

Linux 服务器用 SSH 拉取多个 Git 工程

在一台 Linux 服务器上用 SSH 拉取两个 Git 工程,而这两个工程对应的是 不同的 Git 账号(SSH Key),做法:


使用 SSH Config 配置多个 Git 账号

场景假设:

  • 工程 A 的仓库地址:git@github.com:company-a/project-a.git
  • 工程 B 的仓库地址:git@github.com:company-b/project-b.git
  • 工程 A 使用的 SSH key 是:~/.ssh/id_rsa_company_a
  • 工程 B 使用的 SSH key 是:~/.ssh/id_rsa_company_b

1. 生成两个 SSH key(如果没有)

ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa_company_a
ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa_company_b

然后将这两个 *.pub 公钥添加到各自 Git 平台账号的 SSH 设置中。


2. 编辑 SSH 配置文件

vim ~/.ssh/config

添加如下配置(或 nano 编辑):

# 配置公司 A 的 Git 访问
Host github-company-aHostName github.comUser gitIdentityFile ~/.ssh/id_rsa_company_a# 配置公司 B 的 Git 访问
Host github-company-bHostName github.comUser gitIdentityFile ~/.ssh/id_rsa_company_b

3. 修改 Git 仓库地址,使用 SSH 配置的 Host

⚠️ 注意:不能用默认的 git@github.com,而要改成你定义的别名 github-company-agithub-company-b

例如:

克隆项目 A:

git clone git@github-company-a:company-a/project-a.git

克隆项目 B:

git clone git@github-company-b:company-b/project-b.git

✅ 验证

可以通过以下命令验证是否正确加载不同 key:

ssh -T git@github-company-a
ssh -T git@github-company-b

📌 提示

  • 确保两个私钥文件权限为 600:
chmod 600 ~/.ssh/id_rsa_company_*
  • 如果是在 CI/CD 环境或服务器上部署,可将 ssh/config 和私钥通过环境变量或自动化方式部署上去。

相关文章:

  • python打卡day22
  • 修改网页标签处文字
  • tar -zxvf jdk-8u212-linux-x64.tar.gz -C /opt/module/这个代码的解释
  • MyBatis 中 ${} 与 #{} 的区别与 SQL 注入防范教程
  • 安装Python和配置开发环境
  • PHP 连接和使用 Kafka 的指南
  • Spring AI 与 Hugging Face 深度集成:打造高效文本生成应用
  • 我们来学mysql -- 安装8.4版本
  • 通信网络编程——JAVA
  • AWS EC2源代码安装valkey命令行客户端
  • PHP 代理服务器:如何在 PHP 中设置代理
  • STC15W408AS计数器
  • 分水岭算法:从逻辑学角度看图像分割的智慧
  • 图像匹配导航定位技术 第 12 章
  • 报表制作工具PK:山海鲸报表和Looker,谁更适合新手使用?
  • 如何使用 WMIC 命令在 Windows 11 或 10 上卸载软件
  • 机器学习实战:归一化与标准化的选择指南
  • MAC-OS X 命令行设置IP、掩码、网关、DNS服务器地址
  • # 实时英文 OCR 文字识别:从摄像头到 PyQt5 界面的实现
  • Go 语言 slice(切片) 的使用
  • 城市轨道交通安全、内河港区布局规划、扎实做好防汛工作……今天的上海市政府常务会议研究了这些重要事项
  • 男子发寻母视频被警方批评教育,律师:发寻亲信息是正当行为
  • 女高音吴睿睿“古词新唱”,穿着汉服唱唐诗宋词
  • 2025年度十大IP!IP SH荣膺文化综合类TOP10
  • 人民空军:网上出现的“运-20向外方运送物资”为不实消息
  • 种罂粟喂鸡防病?四川广元一村民非法种植毒品原植物被罚​