Хорошо .. Я думал, что путь в ssh_options[:keys]
относительно файла конфигурации (deploy.rb), но на самом деле относительно файла cap (/var/lib/gems/1.8/bin/cap).
Это работает (лучше скопировать foo.key в /var/lib/gems/1.8/bin/):
ssh_options[:keys] = ["foo.pem")]
Конечно работают и абсолютные пути:
ssh_options[:keys] = ["/home/me/foo.pem")]
ssh_options[:keys] = [File.join(ENV["HOME"], "foo.pem")]
Мой последний выпуск:
# deploy.rb
set :application, "MyFirm"
set :deploy_to, "/var/www/myfirm.com"
set :domain, "dev.myfirm.com"
default_run_options[:pty] = true
set :scm, :git
set :repository, "myfirm@94.141.21.125:/home/myfirm/myfirm.git"
set :ssh_options, {:forward_agent => true}
set :user, "ec2-user"
set :domain, "ec2-41-137-132-97.eu-west-1.compute.amazonaws.com"
ssh_options[:keys] = ["foo.pem"]
role :web, domain
role :app, domain
role :db, domain, :primary => true
set :use_sudo, false
set :keep_releases, 3
set :shared_files, ["app/config/parameters.ini"]
set :shared_children, [app_path + "/logs", web_path + "/uploads", "vendor"]
set :update_vendors, true