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

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


使用 SSH Config 配置多个 Git 账号

场景假设:

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

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

bash 复制代码
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 配置文件

bash 复制代码
vim ~/.ssh/config

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

ssh 复制代码
# 配置公司 A 的 Git 访问
Host github-company-a
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_rsa_company_a

# 配置公司 B 的 Git 访问
Host github-company-b
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_rsa_company_b

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

⚠️ 注意:不能用默认的 [email protected] ,而要改成你定义的别名 github-company-agithub-company-b

例如:

克隆项目 A:

bash 复制代码
git clone git@github-company-a:company-a/project-a.git

克隆项目 B:

bash 复制代码
git clone git@github-company-b:company-b/project-b.git

✅ 验证

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

bash 复制代码
ssh -T git@github-company-a
ssh -T git@github-company-b

📌 提示

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

相关推荐
皓月盈江27 分钟前
Linux电脑本机使用小皮面板集成环境开发调试WEB项目
linux·php·web开发·phpstudy·小皮面板·集成环境·www.xp.cn
深井冰水32 分钟前
mac M2能安装的虚拟机和linux系统系统
linux·macos
leoufung1 小时前
内核内存锁定机制与用户空间内存锁定的交互分析
linux·kernel
Sapphire~1 小时前
odoo-049 Pycharm 中 git stash 后有pyc 文件,如何删除pyc文件
ide·git·pycharm
菜菜why2 小时前
AutoDL租用服务器教程
服务器
IT专业服务商2 小时前
联想 SR550 服务器,配置 RAID 5教程!
运维·服务器·windows·microsoft·硬件架构
忧虑的乌龟蛋3 小时前
嵌入式Linux I2C驱动开发详解
linux·驱动开发·嵌入式·iic·i2c·读数据·写数据
I_Scholar3 小时前
OPENSSL-1.1.1的使用及注意事项
linux·ssl
Johny_Zhao4 小时前
K8S+nginx+MYSQL+TOMCAT高可用架构企业自建网站
linux·网络·mysql·nginx·网络安全·信息安全·tomcat·云计算·shell·yum源·系统运维·itsm
稳联技术4 小时前
Ethercat转Profinet网关如何用“协议翻译术“打通自动化产线任督二脉
linux·服务器·网络