首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Capistrano SSH::AuthenticationFailed,未提示输入密码

Capistrano SSH::AuthenticationFailed,未提示输入密码
EN

Stack Overflow用户
提问于 2014-02-05 02:19:46
回答 9查看 35.6K关注 0票数 54

我成功地使用capistrano已经有一段时间了,突然之间,我在每个项目中都失去了部署的能力。

环境:

  • os X (Mavericks)
  • ruby 1.9.3p194
  • rvm (本地,不在服务器上)
  • rails 3.2及更高版本
  • RubyGems 1.8.25

我没有使用rsa_keys或任何我想让capistrano提示输入用户名和密码的东西。突然,它决定不要求输入密码,但要求输入用户。然后它回滚并给出以下错误。

代码语言:javascript
复制
[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)时,就会发生这种情况

我在这里完全不知所措。有什么想法吗?

EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2014-02-05 08:44:59

想明白了!显然,这个问题与net-ssh gem有关。我最近安装了2.8.0版本,并对我的开发环境进行了一些更新,这就是原因所在。

我不确定它为什么会失败,但gem uninstall net-ssh -v 2.8.0<为我修复了它。

如果有人知道为什么这是一个问题,或者我如何用新版本的net-ssh纠正这个问题,我会很感兴趣的。

票数 95
EN

Stack Overflow用户

发布于 2014-02-26 17:56:37

由于对gem的依赖,答案可能会破坏你的应用程序。

这个问题是net-ssh的问题,正如Sparkmasterflex正确回答的那样,尽管这会让capistrano正常工作,但它可能会破坏你的rails应用程序:

这些步骤为我修复了capistrano和rails。

在Gemfile中添加gem 'net-ssh', '2.7.0'

  • Run bundle update net-ssh

  • Run bundle (只是为了确保一切正常‘

  • 运行gem uninstall net-ssh -v 2.8.0

如果您是rails用户,那么您现在应该能够运行rails服务器和capistrano。

票数 18
EN

Stack Overflow用户

发布于 2014-07-24 01:46:35

根据Zach Lipton发布的link上的评论,我有一个不需要降级net-ssh的变通办法。将此代码放在config/deploy.rb

代码语言:javascript
复制
set :ssh_options, {
  config: false
  #Other options...
}

在我这样做之后,我得到了另一个错误,Error reading response length from authentication socket.找到了那个here的解决方案。在Bash提示符下执行以下命令:

代码语言:javascript
复制
$ eval $(ssh-agent)
$ ssh-add
票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21560297

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档