首先配置SSH客户端通过代理或跳板机访问目标Git服务器,在~/.ssh/config中设置ProxyCommand或跳转主机,确保Git可通过SSH克隆仓库,再在composer.json中使用git@协议地址,最后测试SSH连通性,确认后Composer即可正常安装依赖。

当你使用 Composer 安装依赖时,如果目标 Git 仓库位于受限网络中(例如公司内网或需要通过 SSH 隧道访问),你可能需要配置 SSH 代理来让 Composer 正确克隆仓库。以下是具体操作步骤。
Composer 在执行 Git 操作时会调用系统中的 git 命令,而 git 使用 SSH 协议拉取代码时依赖于 ~/.ssh/config 文件的配置。你可以在这里设置 SSH 跳转或代理。
编辑或创建文件:~/.ssh/config
添加如下内容(根据你的实际情况修改):
示例配置:
Host git.internal.company.com
HostName git.internal.company.com
User git
Port 22
ProxyCommand nc -X 5 -x 192.168.100.10:1080 %h %p
说明:
如果你不能直接访问目标 Git 服务器,但可以通过一台跳板机连接,则可以配置 SSH 跳转。
示例 ~/.ssh/config:
Host jump-host
HostName jump.company.com
User yourname
IdentityFile ~/.ssh/id_rsa_jump
Host git.internal.company.com
HostName git.internal.company.com
User git
ProxyCommand ssh -q jump-host nc %h %p
这样,所有对 git.internal.company.com 的 SSH 请求都会通过 jump-host 转发。
在 composer.json 中,确保包的源使用的是 SSH 地址:
"repositories": [
{
"type": "vcs",
"url": "git@git.internal.company.com:company/package.git"
}
]
不要使用 https:// 或其他协议,否则不会走 SSH 配置。
在运行 Composer 前,先手动测试 SSH 是否能连通:
ssh -T git@git.internal.company.com
如果看到类似 “Hi! You've successfully authenticated.” 的提示,说明配置成功。
也可以测试 Git 克隆:
git clone git@git.internal.company.com:company/package.git
一旦 SSH 和 Git 可以正常工作,Composer 就能顺利拉取私有仓库。
基本上就这些。关键在于让系统级的 SSH 客户端能通过代理访问目标服务器,Composer 会自动继承这个能力。不需要额外配置 Composer 本身。只要 git 能克隆,Composer 就能安装。
以上就是如何为 composer 配置 SSH 代理以访问受限的 Git 服务器?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号