我已经创建了一些通过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更新#3。
任何提示都是值得感谢的。
谢谢
发布于 2021-11-23 15:52:36
不幸的是,根据this的说法,Plesk目前不支持多个密钥。已经有了功能请求(比如this one),但从那以后什么都没有改变。
我认为不共享相同的公钥是明智的。
如果您使用的是同一个GitHub帐户,这是可以的。然而,问题是GitHub不允许您将相同的密钥添加到多个存储库。
所以,简短的回答是,,不,这是不可能的,。
但是,如果能够通过SSH连接,您可能希望通过启动标准ssh-keygen命令来手动添加密钥。这在一段时间前在我的Plesk实例上确实有效,但考虑到最新的黑石更新,我不能断定这是否仍然可能。
如果你决定以这种方式解决这个问题,你将不能从你的控制面板中使用默认的"Git“Plesk扩展,而必须通过SSH手动启动部署序列(一些.sh脚本可能会有所帮助)。
https://stackoverflow.com/questions/69715120
复制相似问题