CapistranoでEC2にRailsアプリをデプロイしようとしたときにこのエラーが出ました。
Permission denied(publickey)
この記事にあるように考えられる原因は以下3点かなと思いました。
EC2のSSH接続でPermission denied(publickey)と出た時の対処法
次の3パターンが考えられる
1. 間違った鍵で接続しようとしている。キーペアは正しいか確認する
2. 間違ったユーザー名で接続しようとしている。正しいユーザー名かどうか確認する
3. ホスト名が間違っている。ホスト名が正しいかどうか確認する。
しかしどれも問題ありませんでした。
結局原因はEC2に置いてある秘密鍵にパスフレーズが設定されていたからでした。
秘密鍵を生成する時にパスフレーズを求められますがここをブランクのままエンターを押しておけばよかったというだけ。
$ ssh-keygen -t rsa 省略 Enter passphrase (empty for no passphrase):