【发布时间】:2014-02-28 21:12:03
【问题描述】:
我已经成功使用 capistrano 有一段时间了,但突然在每个项目中我都失去了部署能力。
环境:
- os X(小牛队)
- 红宝石 1.9.3p194
- rvm(本地,不在服务器上)
- rails 3.2 及更高版本
- RubyGems 1.8.25
我没有使用 rsa_keys 或任何我想让 capistrano 提示输入用户和密码的东西。突然,它决定不询问密码,而是询问用户。然后它回滚并给我以下错误。
[deploy:update_code] exception while rolling back: Capistrano::ConnectionError, connection failed for: sub.example.com (Net::SSH::AuthenticationFailed: Authentication failed for user user@sub.example.com)
connection failed for: sub.example.com (Net::SSH::AuthenticationFailed: Authentication failed for user user@sub.example.com)
这发生在我的个人笔记本电脑和工作中的 iMac 上。部署到两个不同的服务器(都是 linux)时会发生这种情况
我在这里完全不知所措。有什么想法吗?
【问题讨论】:
-
您尝试手动登录 ssh 吗?
-
是的,适用于任何情况
-
另见此 net-ssh 问题,目前正在讨论该问题:github.com/net-ssh/net-ssh/issues/145
-
这是 Capistrano 2 还是 3 的问题?对于 Capistrano 3,我相信“使用密码身份验证”的自述文件说:set :password, ask('Server password', nil) server 'server.domain.com', user: 'ssh_user_name', port: 22, password: fetch (:password), roles: %w{web app db} 这样填写密码而不是像以前那样提示是很不方便的:(
-
Setting :password 不能解决 Capistrano 2 中的这个问题,在 net-ssh 2.7 之后,我怀疑这也是 Capistrano 3 的问题。
标签: ruby-on-rails ruby deployment capistrano