我创建了几个通过http通信的组件。它们共享相同的顶级域。mydomain.io。现在,在集成时,它们运行在同一个虚拟服务器/Plesk实例上。
问题:想要从GitHub为第二个子域(例如y.mydomain.io)创建一个自动拉请求失败,因为Plesk发现,相同的公钥已经用于另一个子域(例如x.mydomain.io)。
这是来自Plesk的错误信息。
Deploying files to y.mydomain.io
Cloning into bare repository '/var/www/vhosts/mydomain.io/git/myapp-y.git'...
Public key for the server at 'github.com' is already known in '/var/www/vhosts/mydomain.io/.ssh/git_known_hosts'.
ERROR: Repository not found.
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
问题:如何为每个新的子域强制执行新的公钥?我认为不共享相同的公钥是明智的。
我使用的是:Plesk Obsidian 18.0.38 Update #3.
任何提示都是感激的。
感谢遗憾的是,Plesk目前不支持多个密钥。有一些特性请求(比如这个),但是从那以后没有任何变化。
我认为不共享相同的公钥是明智的。
这是可以的,如果你使用相同的GitHub帐户。然而,问题是,GitHub不允许您将相同的密钥添加到多个存储库。
所以,简短的回答是,不,这是不可能的.
但是,如果您能够通过SSH连接,您可能希望通过启动标准的ssh-keygen
命令手动添加密钥。这确实工作在我的Plesk实例前一段时间,但我不能告诉,如果这仍然是可能的,考虑到最新的黑曜石更新。
如果你决定这样解决它,你将不能使用默认的"Git"Plesk的扩展从你的控制面板,将不得不通过SSH手动启动部署序列(一些.sh脚本可能会有帮助)。
问题是,我有一个前端项目和一个后台,以及我如何使用api的子域。Plesk每个域有一个密钥,但项目是不同的,github不会让你多次添加它
我使用的解决方案我已经在我的git SSH密钥帐户中添加了Plesk SSH公钥作为服务器深度,并且我可以使用一个密钥访问所有项目。而不是为每个项目使用一个部署键