なにこれ
CircleCIでRerun job with SSHをしてコンテナにSSH接続した時にコケた時の対処法です。
前にも同じエラーでコケた記憶があるので、備忘録。
前提条件
CircleCIでSSH認証済み
capistranoを使ったデプロイができる(自分の場合)
結論
githubにローカルのSSH認証鍵を追加していませんでした。以上
過程
circleCIで自動デプロイはできている。
でも、【Rerun job with SSH】するとPermission denied (publickey)
と言われる。
困ったので公式のガイドを見ました。
GitHub または Bitbucket での認証確認
想定どおりにキーが設定されているかどうかは、コマンド 1つでテストできます。 GitHub の場合は、以下を実行します。
$ ssh git@github.com
ローカルでssh git@github.com
を叩くと以下のエラーが出る。
Permission denied (publickey)
ありゃ?と思い、EC2でssh git@github.com
を叩く。
EC2.
PTY allocation request failed on channel 0
Hi (あなたのgithub名)! You've successfully authenticated, but GitHub does not provide shell access.
Connection to github.com closed.
ここでgithubから認証できてないことに気づく。笑
cd ~/.ssh
ls
cat id_rsa.pub
cat id_rsa.pub
の中身をgithubのSSH認証ページに登録する。
その後、もう1回CircleCIからRerun job with SSH
を試してみる。
circleci@5745cd68d045:~$
無事コンテナ内に入れました!
感想
公式を読むことって大事だと思いました。
公式を読んで、分からなければ2次ソース(Qiitaなどの外部サイト)を調べることを意識します。