github - 如何在 Plesk 中为同一域的每个子域创建新的公钥
问题描述
我创建了一些通过 http 进行通信的组件。它们共享相同的顶级域。mydomain.io。现在,在集成时,它们在相同的虚拟服务器/Plesk 实例上运行。
问题:想要从 GitHub 为第二个子域 (egymydomain.io) 创建自动拉取请求失败,因为 Plesk 发现相同的公钥已用于另一个子域 (egxmydomain.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。
任何提示表示赞赏。
谢谢
解决方案
不幸的是,Plesk 目前不支持多键,据此。有一些功能请求(比如这个),但从那以后没有任何变化。
我认为不共享相同的公钥是明智的。
没关系,如果您使用的是同一个 GitHub 帐户。然而,问题在于 GitHub 不允许您将相同的密钥添加到多个存储库。
所以,简短的回答是,不,那是不可能的。
但是,如果您能够通过 SSH 连接,您可能希望通过启动标准ssh-keygen
命令手动添加密钥。前段时间这在我的 Plesk 实例上确实有效,但考虑到最新的 Obsidian 更新,我无法判断这是否仍然可行。
如果您决定以这种方式解决它,您将无法从控制面板使用默认的“Git”Plesk 扩展,并且必须通过 SSH 手动启动部署序列(一些 .sh 脚本可能会有所帮助)。
推荐阅读
- date - 如何将当前日期从 REST API 中的 Java 类传递到 GraphQL API
- java - 如何在 Java 中修复这个简单的 for 循环?
- android - Xamarin Forms Android 模拟运行 Job Scheduler
- python - 如果列表中存在元素,则将列表中第一次出现的元素替换为 100
- amazon-web-services - 将 cloudwatch 请求 ID 替换为自定义唯一 ID
- android - 安装 wechat_assets_picker 后无法构建 Flutter App (Android)
- vue.js - 将未声明的道具传递给子组件(如 ...args)
- javascript - 当我使用 c3.js 在图表中的 X 轴上放置日期标签时,出现错误错误:
属性变换:预期数字,“翻译(NaN,0)” - java - 从具有不同类型的通用类中检索一组值
- android - 固定对象的房间道查询