# ある日突然デプロイができなくなった話

目次

# はじめに

ある日急に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