在多个服务器之间同步GnuPG私钥以进行水平扩展

时间:2017-11-05 18:27:56

标签: centos7 gnupg clustering-key

我正在使用CentOS 7和GnuPG 2.0来处理使用加密和解密的应用程序。

现在我正在尝试在名为服务器A和服务器B的两台服务器上水平扩展我的应用程序。

假设应用程序在服务器A上创建私钥/公钥对,如何在服务器B中共享相同的集合,反之亦然,以便应用程序可以从任一服务器访问同一组密钥? / p>

1 个答案:

答案 0 :(得分:1)

鉴于您没有描述任何不存储本地的方法,您可能正在使用普通的GnuPG主目录,其中私钥存储在钥匙串中。只需导出此密钥(gpg --export-secret-keys <key-id>),然后使用相同的机制导入它(gpg --import)以分发其他凭据(数据库,...)。

GnuPG键不会“自行”改变,通常是持久的,创作通常是手动过程;所以你不需要主动监控和同步它们。只需在实际更改的极少数情况下推出新副本。再次 - 将进程与数据库密码或其他秘密进行比较。

如果实际上是经常重新生成密钥,则每次创建新密钥时都必须运行export-import-process(并且一定要考虑同步过程的时序问题尚未完成,但访问已经在服务器之间传播)。

A(更复杂且容易出错,如果您不详细了解该技术)替代方案是使用通过网络共享的gpg-agent套接字,例如使用SSH隧道或类似解决方案。这允许所有连接的服务器使用私钥,而无需在本地存储。如果您不能(可能不)在本地存储私钥,这可能尤为重要。使用gpg-agent套接字共享,私钥永远不会离开运行gpg-agent的服务器,后者执行所有私钥操作(处理加密的主要部分通常由实际数据的对称加密形成,但是确保你没有遇到扩展问题!)。