2012-09-20 21 views
0

我正在使用Capistrano将我们的代码部署到很多机器上(几个到几百个)。我是否需要在所有目标机器上安装公钥(Capistrano)?

我打算使用Capistrano来做到这一点。据我所知,我需要为Capistrano使用的SSH登录生成一对公钥和私钥;我想我可能需要安装我的公钥到我所有的目标机器。我对吗?

有没有更好的方法来做到这一点?这很乏味。

回答

4

是的,是唯一的方式与远程服务器进行身份验证,否则您必须使用用户和密码。

我们实际上使用Puppet来安装基础系统和公钥。然后你可以部署capistrano。

0

要回答你的问题,是的,要获得SSH密钥认证登录,你需要把你的公钥放在每台机器上。如果部署涉及登录到大量单独的服务器,那么我建议你做错了什么。首先想到的第一个解决方案是让每个盒子在某种触发器(例如成功的CI构建)之后检查中央回购站的最新工作副本,但不知道更多关于项目的信息,很难说什么工作最好。

1

也不让我安慰。

但试试看这样:如果你有x机器要部署到,没有公钥密码术,你将不得不用密码x * #deployments登录。现在你只需要登录x次。你部署得越多,优势就越大。

当然,如果您只打算部署一次或两次,那么可能只有最小的优势。

1

是的,你的Capistrano脚本将ssh'ing进入机器启动部署。您应该注意,从目标计算机到保存要部署的文件的计算机很可能会有ssh。因此,您还需要将目标机器的公钥放在处理版本控制的机器上)。

相关问题