LoginSignup
1
0

More than 1 year has passed since last update.

capistrano circleci rails6 を使って EC2へ自動デプロイする際のエラー

Posted at

エラー内容

下記のエラーはcircleciでEC2へのデプロイ設定をし、実行した際circleci上に出たエラーです。

SSHKit::Runner::ExecuteError: Exception while executing as user名@IPアドレス: Authentication failed for user ユーザー名@IPアドレス

結論

自分の場合はcircleciに登録したsshkeyが間違っていたこと、capistranoでの鍵の設定で正しい鍵を設定できていなかったことが原因でした。

解決までの道のり

このエラーが出た際試すべきことを列挙していきます

1.まずcircleciのinstalling additional ssh keysの部分が

Installed key **************

となっているか確認します。これがinstalledになっていなければcircleciに登録した鍵の内容種類が違う可能性が高いと思います。

2.上のエラーに当てはまった方circleciに登録した鍵を正しく登録しなければなりません。この部分は他の多くの方も詰まっているようでたくさん記事があります。その中に語尾がpsaのファイルでなければならないといったものがありますが、ここはあくまでEC2に接続できる鍵なのでインスタンス作成の際に入手できる語尾がpemの鍵の中身を登録する形でも問題ありません。ただ、自分はここで詰まりました。解決できたのはhostnameの部分を独自のアドレスからIPアドレスに変更し、値の部分も自分の手作業で中身をコピペするのではなく、コマンドでコピーして貼ったら正しく登録できました。

3.鍵の登録が正しくできたら、次はcircleciにssh接続し、.sshディレクトリに移動、その後lsコマンドで中身を確認しました。するとid_rsa_*********という登録されたカギがあるのでそれをコピーしてきます。

4.3でコピーして内容をデプロイ設定を記載しているファイルの鍵を書く部分に貼り付けます。自分の場合はconfing/deploy/production.rbファイルに書いてあったものを以下のように修正しました

confing/deploy/production.rb
auth_methods: ['publickey']

auth_methods: ['publickey'],keys:['~/.ssh/コピーした内容']

これでデプロイを成功させることができました。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0