ubuntu - 如何在 Debian 打包工作流程中集成远程签名?

标签 ubuntu debian packaging gnupg

我的 GPG key 位于我的本地盒子 (A) 上。我还可以访问一些用于构建 Debian 和 Ubuntu 软件包的共享主机(B1、B2 等)。我不想把我的 GPG key 放在那里。

我想在 B1、B2 等上创建签名的 Debian/Ubuntu 软件包。签署这些软件包通常是现有脚本的一部分,如 dpkg-buildpackagebackportpackage .虽然他们经常提出不对包或文件进行签名,但将签名作为流程的一部分具有以下优势:工作流程不会中断,也不会跳过任何步骤。

因此,当 B1、B2 等上的打包脚本请求时,我需要从本地框 A 对文件进行签名,例如通过 sshfs .我愚蠢的想法是设置 $DEBSIGN_PROGRAM到一个脚本,将其参数打印到控制台,然后等待 RET .然后我会转移/sshfs引用的文件,在我的本地机器上执行修改后的命令行并将修改/添加的文件传输回远程主机。

然而,我逐渐发现,对于每一个问题,Debian 通常都有一个预先存在的解决方案。对于这种类型的工作流程,是否存在 GPG key 不驻留在构建包的主机上的工作流程?

最佳答案

请查看“dpkg-sig”包。您将它安装在本地和远程机器上,然后只需将路径传递给应签名的 .changes 文件。手册页给出了一个例子:http://manpages.ubuntu.com/manpages/trusty/man1/dpkg-sig.1.html .

关于ubuntu - 如何在 Debian 打包工作流程中集成远程签名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30446028/

相关文章:

linux - ubuntu utf-8 转换器脚本

ubuntu - ubuntu会自动启动android-studio崩溃,并且每次都会注销系统

Git SSH 协议(protocol)记住密码

mysql - 在服务器启动时插入 MySQL 行

python - 将整个 Python 应用程序打包为 PEX 文件

Android重新打包通过ant debug然后ant release

Ubuntu "GD Library extension not available with this PHP installation.' 上的 Laravel 5.7 '

ubuntu - 如何在 Ubuntu -2021 上更新 VSCode

mysql - 为 Raspberry Pi 编译 MySQL 5.6 - 验证错误

linux - 为多个 Linux 发行版发布纯二进制应用程序的首选方法是什么?