【发布时间】:2015-11-23 19:30:10
【问题描述】:
我正在尝试通过 capistrano 从 mac 部署我的 rails 应用程序 (Ruby 2.1.2 and Rails 4.1.4)。我在服务器上设置了ssh 密钥。但是每当我尝试部署时,我都会不断收到身份验证错误。错误是:
SSHKit::Runner::ExecuteError: Exception while executing on host xxx.xxx: Authentication failed for user deploy@xxx.xxx
接着是:
Net::SSH::AuthenticationFailed: Authentication failed for user deploy@xxx.xx
这是我的 staging.rb:
server "xxx.xx.xxx", user: "deploy", roles: %w{web app db}
set :ssh_options, {
user: "root",
forward_agent: false,
keys: '~/.ssh/id_rsa',
auth_methods: %w(publickey password)
}
set :branch, "master"
set :rails_env, "staging"
我可以使用ssh root@xxx.xx 通过终端登录服务器,但无法使用 capistrano 登录。任何帮助或建议都将受到欢迎。
【问题讨论】:
-
用户
deploy@xxx.xx的身份验证失败,而不是root@xxx.xx。更正staging.rb文件的第一行。
标签: ruby-on-rails ssh capistrano