我正在设置 Capifony(用于 symfony 的 Capistrano),但是在测试多个服务器部署时我遇到了 ssh 密码问题。
这里有一些版本:
daniel@fiji:~$ ruby --version
ruby 1.8.7 (2011-06-30 patchlevel 352) [i686-linux]
daniel@fiji:~$ cap --version
Capistrano v2.9.0
daniel@fiji:~$ uname -a
Linux fiji 3.0.0-13-generic-pae #22-Ubuntu SMP Wed Nov 2 15:17:35 UTC 2011 i686 i686 i386 GNU/Linux
以及 deploy.rb 中的一些配置:
set :domain, "mydomain"
...
set :user, "sshuser"
set :password, "sshpassword"
...
role :web, domain
role :app, domain
...
部署到单个服务器效果很好,无需输入密码。一切都好。但是,如果我尝试使用如下配置向配置中添加更多服务器(我需要部署到 6 到 9 台机器):
...
set :user, "sshuser"
set :password, "sshpassword"
role :web, "ipaddr1", "ipaddr2"
role :app, "ipaddr1", "ipaddr2"
...
Capistrano 开始询问我列出的每个服务器的 ssh 密码,即使它设置为像以前一样......这个配置有什么问题?输入密码可以让该过程继续并且一切正常,但我想避免每次都输入密码。
谢谢丹尼尔