💨

Macを再起動するとVS Code Dev ContainerでSSH認証情報の共有が切れる

2023/12/26に公開

先日こちらの記事で開発環境を丸ごとコンテナ内に収めて開発する方法を整理しました。
上記記事の手順でとりあえず開発できるようになったのですが、Macを再起動するとローカルのSSH認証情報の共有が切れてしまい、GitHubへのpush時にpermission deniedのエラーが発生してしまいました。
.zshrcを修正することでこの問題を解消できました。

修正後の.zshrc
# 前略

if [ -z "$SSH_AUTH_SOCK" ]; then
   # Check for a currently running instance of the agent
   RUNNING_AGENT="`ps -ax | grep 'ssh-agent -s' | grep -v grep | wc -l | tr -d '[:space:]'`"
   if [ "$RUNNING_AGENT" = "0" ]; then
      # Launch a new instance of the agent
      ssh-agent -s &> $HOME/.ssh/ssh-agent
   fi
   eval `cat $HOME/.ssh/ssh-agent`
fi

ssh-add --apple-use-keychain ~/.ssh/id_ed25519 # この行を追記

元々.zshrcにはssh-agentを起動するための記述(if文の部分)を含めていました。
この部分についてはDev Containerの公式Docの記載に準拠しています。
これに加え、ssh-addの実行を追加したら問題が解消されました🙌

Discussion