Capistranoで自動デプロイした時に出たSSHKit::Runner::ExecuteError解決法

Capistranoで自動デプロイした時に出たSSHKit::Runner::ExecuteError解決法:


Capistranoでデプロイしようとした時にSSH認証エラーが出ました

プログラミングスクールの課題で作成したアプリを修正してEC2へデプロイしようとしたら

以下のエラーが出たため解決法を記しておきます。

terminal
# プロジェクトのローカルディレクトリで自動デプロイを実行 
$ bundle exec cap production deploy 
 
(Backtrace restricted to imported tasks) 
cap aborted! 
SSHKit::Runner::ExecuteError: Exception while executing as ec2-user@ElasticIP: Authentication failed for user ec2-user@ElasticIP 
 
 
Caused by: 
Net::SSH::AuthenticationFailed: Authentication failed for user ec2-user@ElasticIP 
 
Tasks: TOP => rbenv:validate 
(See full trace by running task with --trace) 


エラーの原因

再起動するとSSH鍵が消えてしまうみたいなので .sshディレクトリにて以下のコマンドでSSH鍵を登録し直します。

terminal
.ssh $ ssh-add ~/.ssh/hoge.pem 
# 以下のように表示されたら 
Identity added: /Users/komaki/.ssh/rskkmk.pem (/Users/komaki/.ssh/rskkmk.pem) 


再度 "bundle exec cap production deploy" を実行

無事にデプロイが成功しました!


Image from Gyazo



再起動した後でも保持させるには...

以下のコマンドを使用すると、キーチェーンストア(鍵の保管庫)に鍵を登録して再起動後も保持してくれます。

terminal
.ssh $ ssh-add -K ~/.ssh/hoge.pem 

コメント

このブログの人気の投稿

投稿時間:2021-06-17 22:08:45 RSSフィード2021-06-17 22:00 分まとめ(2089件)

投稿時間:2021-06-20 02:06:12 RSSフィード2021-06-20 02:00 分まとめ(3871件)

投稿時間:2021-06-17 05:05:34 RSSフィード2021-06-17 05:00 分まとめ(1274件)