2013-03-17 74 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" 

給正確的用戶名和密碼,它完美的作品後!