我们有一个运行 Ubuntu 20.04 的测试服务器。我们正在测试的项目有一个基于 Vue 的 Web 应用程序和一个基于 PHP 的 CMS。
每个组件在 Github 中都有自己的存储库:
OurCompany/project-app
OurCompany/project-cms
在测试服务器上,Git 存储库位于以下目录中:
/home/root/app-build
/var/www/cms
两者都有运行 git pull
的部署脚本,以使用存储库中的最新更改来更新代码。身份验证通过 SSH 部署密钥进行。
我一直在关注 Github instructions here,它说我需要更改配置 SSH 配置文件以使用不同的 SSH 密钥:
Host github.com-project-app
Hostname github.com
IdentityFile=/home/root/.ssh/app_deploy_key
Host github.com-project-cms
Hostname github.com
IdentityFile=/home/root/.ssh/cms_deploy_key
我还将 /home/root/app-build/.git/config
和 /var/www/cms/.git/config
中的存储库更新为
[remote "origin"]
url = git@github.com-project-app:OurCompany/project-app.git
&
[remote "origin"]
url = git@github.com-project-cms:OurCompany/project-cms.git
理论上,我们现在应该使用匹配的部署密钥访问两个存储库?
但是,只有 project-cms
验证和测试 SSH 返回以下内容:
#ssh -T git@github.com-project-cms
Hi OurCompany/project-cms! You've successfully authenticated, but GitHub does not provide shell access.
#ssh -T git@github.com-project-app
Hi OurCompany/project-cms! You've successfully authenticated, but GitHub does not provide shell access.
因此,即使使用 project-cms
主机名,它也只对 project-app
进行身份验证。
关于发生了什么以及我如何解决它的任何想法?
答案 0 :(得分:0)
您需要确保:
/home/root/.ssh/app_deploy_key
与 /home/root/.ssh/cms_deploy_key
不同,/home/root/.ssh/app_deploy_key.pub
公共 deploy key 已注册到正确的 GitHub project-app
“部署密钥”设置。