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:refreshssh 経由でこの新しいインスタンスに正常にログインできます (ユーザー名を として提供
ubuntu)。だから、キーファイルは大丈夫です。私はすでにキーを追加しました
ssh-addのキー ファイル。ディレクトリに拡張子
ec2はありません。.pemetc/hostsAmazon インスタンスに重複するエントリはありません。