# ある日突然デプロイができなくなった話
目次
# はじめに
ある日急にEC2サーバー上でのデプロイができなくなったので対応しました。
# 結論
退職者のアカウント情報で ssh をしていたためにできなくなっていた。
# 発覚
ある日ある特定のEC2インスタンスにおいてデプロイができなくなる事象が発生。 その時に出ていたエラーは以下。
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
# 秘密鍵は消していないか?
git pull で permission denyd が発生していた。 まずはそもそも秘密鍵があるのかどうかを確認してみた。
$ ls ~/.ssh
秘密鍵のファイル
当然ある まぁ、つい先日まで同じ方法でデプロイしていたのでそれはあるよね。
# gitのユーザーはだれだ?
gitpullしているユーザーが変わってしまった事で、リポジトリに登録されているユーザーと異なるユーザーがpullしようとしてきているのかと疑ったので、.gitcofig を確認してみる。 ちなみに以前はec2-userが設定されていた。
$ cat ~/.gitconfig
ec2-user なので従前通り。 ただ鍵も変更されていなくて、ユーザーも何も変わっていない、、、。 ただ以前運用していたメンバーがいなくなった事でつい先日そのユーザーのアカウントを削除したことを思い出す。 実際に誰でログインしようとしているのか
# 実際にsshしてみる
bitbucket に直接 ssh してみると
logged in as 退職者のアカウント
との表示。
これか、、、
# 対応
鍵を作成、新たにデプロイ用ユーザーを作ってbitbucketのデプロイユーザーとしてそれにkeyを登録。
.gitconfigをデプロイ用ユーザーにして、.ssh/configのなかのユーザー名や鍵をデプロイユーザーと、新たに作成した鍵にして それを元にして ssh を実行
# 対応した事
- 新しい keyを作成した
- ~/.ssh/configを作成
- chomod config 700
- .gitconfigを開発用ユーザーに変更
# 参考
http://tusukuru.hatenablog.com/entry/2018/08/29/021651