2013-11-09 59 views
2

連接我跟着railscasts並與基本配置 如image_id: ami-3f32ac3e(Ubuntu服務器12.04.3 LTS 64位),app_name: myappapp_user: jashwant,我試圖與橡膠部署。Rubbe EC2R:無法使用ssh

一切都很順利。我現在有一個正在運行的實例,但最終我得到 Trying to enable root login * 2013-11-09 17:03:33 executing `rubber:_ensure_key_file_present' * 2013-11-09 17:03:33 executing `rubber:_allow_root_ssh' * executing "sudo -p 'sudo password: ' bash -l -c 'mkdir -p /root/.ssh && cp /home/ubuntu/.ssh/authorized_keys /root/.ssh/'" servers: ["54.238.122.222"] ** Failed to connect to 54.238.122.122, retrying * 2013-11-09 17:03:37 executing `rubber:_ensure_key_file_present' * 2013-11-09 17:03:37 executing `rubber:_allow_root_ssh' * executing "sudo -p 'sudo password: ' bash -l -c 'mkdir -p /root/.ssh && cp /home/ubuntu/.ssh/authorized_keys /root/.ssh/'" servers: ["54.238.122.122"]

你可以看到錯誤here

我從這裏得出的結論是,我需要設置:initial_ssh_userconfig/deploy.rb

我已經看到, set :user, 'root' set :password, nil config/deploy.rb

所以,我說set :initial_ssh_user, 'ubuntu'。但錯誤仍然相同。

如果我改變set :user, 'root'set :user, 'ubuntu',然後我得到 Trying to enable root login * 2013-11-09 17:13:48 executing `rubber:_direct_connection_54.238.122.122_411' * executing "echo" servers: ["54.238.122.122"] ** Failed to connect to 54.238.122.122, retrying

事情我已經檢查谷歌上搜索後:

  1. 它不發生,因爲亞馬遜的實例仍在啓動。實例開始後,我等了很久。我也遇到同樣的錯誤ALIAS=production cap rubber:refresh

  2. 我能夠通過ssh成功登錄到這個新實例(提供用戶名爲ubuntu)。所以,密鑰文件沒問題。

  3. 我已經在ssh-add

  4. 密鑰文件添加的關鍵。 ec2目錄沒有.pem擴展名。

  5. 我在Amazon實例上的etc/hosts中沒有重複條目。

回答

1

原來,橡膠不能從私鑰讀取。我解決了這個問題,它工作。

+0

我有同樣的錯誤,但有點不同 –

+0

* 2014-06-17 21:08:13執行'rubber:_ensure_key_file_present' * 2014-06-17 21:08:13執行'rubber:_allow_root_ssh' *執行「sudo -p」sudo密碼:'bash -l -c'mkdir -p /root/.ssh&&cp/home/ubuntu/.ssh/authorized_keys /root/.ssh/'「 servers:[」 54.238.183.162「] **無法連接到54.238.183.162,請重試 –

+0

您能告訴我關於此問題的詳細信息嗎? –