エラー内容
下記のエラーはcircleciでEC2へのデプロイ設定をし、実行した際circleci上に出たエラーです。
```circleci SSHKit::Runner::ExecuteError: Exception while executing as user名@IPアドレス: Authentication failed for user ユーザー名@IPアドレス ```結論
自分の場合はcircleciに登録したsshkeyが間違っていたこと、capistranoでの鍵の設定で正しい鍵を設定できていなかったことが原因でした。
解決までの道のり
このエラーが出た際試すべきことを列挙していきます
1.まずcircleciのinstalling additional ssh keysの部分が
```circleci 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/コピーした内容'] ``` これでデプロイを成功させることができました。