1

我正在尝试使用部署程序在我的 Laravel 应用程序中通过 Composer 安装一些私有存储库,我创建了我的 github SSH 别名并添加了我的密钥ssh-add -k path-to-key并将它们添加到各个私有存储库中,似乎服务器仍在努力访问这些,我的项目回购包括:

"repositories": [
    {
      "type": "vcs",
      "url": "git@my-alias:company/my-package.git"
    }
]

config服务器上的 for Git 是...

Host my-alias github.com
Hostname github.com
IdentityFile /root/.ssh/my_package_id_rsa

我在那里有多个主机,以上只是 6 个主机之一。composer install通过 Deployer 尝试时的错误是......

错误:未找到存储库。

致命:无法从远程存储库中读取。

请确保您拥有正确的访问权限

并且存储库存在。

当我ssh -T git@github.com在服务器上运行时,我得到:

嗨公司/我的包裹!您已成功通过身份验证,但 GitHub 不提供 shell 访问权限。

所以我会认为服务器能够读取我的作曲家文件并成功克隆回购?

4

1 回答 1

0

如果ssh -T git@github.com在服务器上工作,则表示默认~/.ssh/id_rsa工作,而不是 /root/.ssh/my_package_id_rsa

如果要使用 测试访问权限/root/.ssh/my_package_id_rsa,则需要键入:

sudo ssh -Tv my-alias

" sudo" 因为否则/root/.ssh无论如何都无法访问。
这意味着 ssh 配置文件必须在/root/.ssh/config
并且主机条目必须是my-alias. 不是“ my-alias github.com

这也意味着composer install必须作为root( sudo) 执行,这不是最佳实践。

于 2020-10-22T23:00:54.553 回答