即使我设置了ssh密钥,capistrano仍然要求提供第一个密码?

背景:我已经设置了一个SSH密钥,以避免使用密码与卡皮斯特拉诺每个http://www.picky-ricky.com/2009/01/ssh-keys-with-capistrano.html 。 一个基本的SSH到我的服务器确实工作正常,而不要求密码。 我正在使用“dreamhost.com”进行托pipe。

问题 – 当我运行'cap deploy'时,我仍然被要求input第一个密码(即使之前的第二个和第三个密码请求现在是自动的)。 它是以“git clone – q ssh:…..”开头的capistrano命令,其密码正在被请求。

问题 – 我有没有错过? 我怎样才能得到“帽部署”完全无密码?

从config / deploy.rb中的一些出色的是:

set :use_sudo, false ssh_options[:keys] = [File.join(ENV["HOME"], ".ssh", "id_rsa")] default_run_options[:pty] = true 

谢谢

PS。 服务器上的权限是:

 drwx------ 2 mylogin pg840652 4096 2010-02-22 15:56 .ssh -rw------- 1 mylogin pg840652 404 2010-02-22 15:45 authorized_keys 

把它与:

 set :repository, "/home/me/git_repo/myapp.git" set :local_repository, "ssh://[email protected]/home/me/git_repo/myapp.git" 

通常当我看到这个问题时,服务器上的权限并不完全正确。 只有在每一方的权限都被准确设置的情况下,才能使用这些密钥。 我会仔细检查文件和组以及密钥文件的读/写/执行设置。