如何在云端的docker镜像上安全地运行distccd?

时间:2016-02-11 05:23:28

标签: docker distcc

我正在使用覆盆子pi进行编译并且它的速度不够快,即使我使用桌面CPU来提供帮助也是如此。

我可以在云服务器上以老式的方式安装distcc,但是如果有一天我真的快速使用docker机器快速启动一堆服务器怎么办?

distccd可以使用SSH身份验证,但我没有看到运行SSH和distccd的好方法。似乎管理ssh密钥会有麻烦。

如果将distcc配置为仅接受我家的WAN IP(然后在完成后立即关闭图像)该怎么办?

但是,制作其他覆盆子pi用户可以轻松搞定的东西真是太棒了。

1 个答案:

答案 0 :(得分:1)

您似乎已经知道答案,设置distcc以使用SSH。这将确保您已在云中部署为Docker镜像的 distcc客户端 distcc服务器之间的加密通信。您已经强调,执行此操作的成本将花费时间来设置所有Docker镜像都可以接受的SSH密钥。从内存中,对于所有Docker节点,此密钥可以是相同的,只要它们使用相同的密钥具有相同的用户名即可。这真是一项如此复杂的任务吗?

您要求构建Compile Farm的安全性略低一些。根据您家中的Internet可访问IP地址限制内容将限制范围并增加使用您的构建群集的其他人的复杂性。有人可能会欺骗特殊的IP地址并访问您的distcc服务器,但这只会花费您的运行时间。更大的问题是您的代码可以通过Internet以纯文本形式传输到这些distcc服务器。如果这不是一个大问题,那么它可能被认为是低风险。

另一种方法是建立一个安全的Docker节点远程网络并设置对它们的VPN访问。这会将您的本地计算机绑定到远程网络,您可以将整个事情视为安全的LAN。如果认为Docker节点在云中以未加密的方式在它们之间进行通信被认为是安全的,那么与它们建立VPN链接并执行相同操作应该是安全的。

他们最好的选择可能是挖出一些旧PC并将其设置为本地distcc服务器。在局域网内,他们不需要安全。

您提到希望与其他Raspberry PI用户分享此信息。过去曾有其他公共编译农场,但其中许多已经失宠。像BOINC这样的计算项目公开分发这些东西的效果很差,因为网络延迟和传输速率会显着降低构建速度。