railscastsに従い、 image_id: ami-3f32ac3e
(Ubuntu Server 12.04.3 LTS 64 bit)などの基本構成でapp_name: myapp
、、、app_user: jashwant
ゴムでデプロイしてみました。
すべてがスムーズに進みました。現在、実行中のインスタンスがありますが、最後に取得しています
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"]
ここでエラーを確認できます
ここから、設定する必要があると結論付け:initial_ssh_user
ましたconfig/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
グーグル後にチェックしたこと:
Amazon インスタンスがまだ起動しているため、発生していません。インスタンスが起動してからずっと待っていました。また、実行すると同じエラーが発生します
ALIAS=production cap rubber:refresh
ssh 経由でこの新しいインスタンスに正常にログインできます (ユーザー名を として提供
ubuntu
)。だから、キーファイルは大丈夫です。私はすでにキーを追加しました
ssh-add
のキー ファイル。ディレクトリに拡張子
ec2
はありません。.pem
etc/hosts
Amazon インスタンスに重複するエントリはありません。