Это не проблема капистрано, а SSH.
Я полагаю, вы запускаете capistrano с того же сервера, на котором вы развертываете.
Не имеет значения, какого пользователя вы используете для запуска cap, на самом деле важно, чтопользователь, если вы 'ssh' для своего сервера.
Если вы являетесь пользователем 'ssh' и являетесь пользователем ssh для своего сервера, какой вы пользователь?
root?, затем исправьте свой .ssh/ config файл.
Ваш файл deploy.rb выглядит хорошо, но я бы СУШИЛ его:
namespace :sphinx do
desc "Start Sphinx Searchd"
task :start, :roles => :app do
rake "ts:start"
end
desc "Stop Sphinx Searchd"
task :stop, :roles => :app do
rake "ts:stop"
end
desc "Restart Sphinx Searchd"
task :restart, :roles => :app do
rake "ts:restart"
end
end
def rake(rake_task)
if rake_task
raise "Rails environment not set" unless rails_env
run "cd #{current_path} && rake #{rake_task} RAILS_ENV=#{rails_env}"
end
end