2013-03-17 73 views
1

突然,Capistrano的开始返回一个SSH的问题:Capistrano的登录的Net :: SSH失败

** [部署:update_code]异常而回滚:Capistrano的:: ConnectionError,连接失败:staging.myserver .COM (净:: SSH :: AuthenticationFailed:根)连接失败: staging.myserver.com(净:: SSH :: AuthenticationFailed:根)

我deploy.rb包含:

require 'capistrano/ext/multistage' 

ssh_options[:forward_agent] = true 
ssh_options[:keys] = ["myserver_rsa"] 

set :stages, ["staging", "production"] 
set :default_stage, "staging" 

set :scm, "git" 
set :application, "myapp" 
set :repository, "[email protected]:project/myapp.git" 
set :use_sudo, false 
set :deploy_via, :remote_cache 

,并在我的配置/部署/ staging.rb在这里发帖前我做的

server 'staging.myserver.com', :app, :web, :db, primary: true 

set :branch, 'staging' 
set :rails_env, "staging" 

set :deploy_to, "/var/rails/#{application}" 
set :user, "root" 
set :password, "my_triple_check_password_login" 
set :domain, "staging.myserver.com" 

测试:

  1. 尝试通过ssh登录(SSH -v staging.myserver.com) =>在没有提示我的密码的情况下成功记录。 (使用myserver_rsa键)

  2. 球员前锋 =>已启用在服务器和本地

  3. 尝试通过ssh登录,无按键: =>提示输入密码。从staging.rb复制并粘贴,并完美记录。

  4. 更改服务器根密码。 =>尝试通过ssh root @@使用新密码登录... ...工作很好。但通过capistrano,失败。

  5. 在IRB中运行一个用于登录的SSH SSH脚本。 =>登录并返回bash的hostname结果。

这个问题突然从昨天开始。我真的没有更多的想法:/

首先,服务器上的任何变化都是Cap部署配置。

谢谢!

+0

您是如何启用代理转发功能的? – phoet 2013-03-17 15:06:09

+1

@phoet是的。在双方。斯坦格部分是:直到昨天一直工作没有问题。 – hlegius 2013-03-17 15:11:36

回答

4

我发现了!

在我/etc/ssh_config根节我:

Host * 
    SendEnv LANG LC_* 
    XAuthLocation /opt/X11/bin/xauth 
    ForwardAgent yes 
    PasswordAuthentication yes 

我需要创建一个部分我登台环境:

Host staging.myserver.com 
    IdentityFile /Users/hlegius/.ssh/myserver_rsa 
    ForwardAgent yes 
    RSAAuthentication no 
    PasswordAuthentication no 

和编辑我config/deploy.rb补充:default_run_options[:pty] = true

Aaaaaaaaand它的作品!

+1

您应该将您的答案标记为正确答案 – 2013-07-11 16:26:48

+0

@hlegius'm具有相同的错误。但令人惊讶的是,这不适合我。任何想法? – nish 2013-10-21 11:36:01

+0

@nish你可以只是ssh到你的服务器,看看它的工作与否。可能是阻止你进入的服务器。 – Abhi 2014-03-26 11:00:16

0

此错误是由于验证失败。 Capistrano无法使用指定的用户名和密码连接到部署服务器。我已经完成了服务器部署,现在正在部署到新服务器。然后我得到这个错误。

它促使我给新服务器的密码。我输入了新的服务器密码。但它显示了这个错误。

我这里

set :domain, "my-new-ip-or-domain" => my new server domain 

更改域名,但忘了在这里更改用户名在我deploy.rb

set :user, "my-new-username" 

给正确的用户名和密码,它完美的作品后!