如何通过Capistrano限制用户仅访问部署? (部署工作流程问题)

时间:2012-10-19 19:33:26

标签: security deployment ssh capistrano

我寻找使用capistrano进行部署的良好实践。

我想首先简要介绍一下我以前如何进行部署。

capistrano在开发人员的计算机上本地安装。我使用capistrano选项:gateway部署思想网关。首先,我认为使用:gateway选项我需要只与网关主机建立ssh连接,但事实证明我需要ssh连接(公钥)到我想要的所有主机部署到。

我想找到一种方便安全的部署应用程序的方法。

例如,在新开发人员开始工作的情况下,将他的* public_key *仅放在网关服务器而不是所有应用程序服务器上更方便。另一方面,我不希望他与服务器有任何连接,特别是 ssh 到网关,因为他是开发人员,他只需要进行部署。

如果您了解使用capistrano进行部署的良好做法,请告诉我们。

1 个答案:

答案 0 :(得分:1)

为网关计算机上的每个开发人员以及其他服务器计算机创建特殊用户帐户。这将是你必须使用你的操作系统和ssh给你的能力。使开发人员帐户无法通过shell登录到网关等。

我无法向您提供所有细节,但我想我可能会指导您朝着正确的方向前进。您可以在Server Fault上询问有关如何允许用户登录并仅在服务器上执行某些任务的详细信息。

Digression / Opinion:最好让您信任的开发人员进行部署。如果你不信任开发者,最好不要让他做关键的事情,比如部署到生产服务器。