freks blog

about

Dev ContainerからGitHubにpushする

created: 2024-04-11
おすすめ記事: 出会ってよかったプログラマー本

VSCode Dev Containerで開発しているときに git push すると

$ git push origin HEAD
[email protected]: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

とエラーになりました
Dev Containerには.gitconfigは自動でコピーされています
GitHub にpushするのにSSHキーを使う場合、必要なSSHキーもシェアしないといけません

Sharing git credentials に書いてありますがちょっとはまったのでまとめます

WSLで

eval "$(ssh-agent -s)"

~/.bashrc に

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

を追加、確認で読み込み直してみる

source ~/.bashrc

必要なキーを登録します

ssh-add $HOME/.ssh/github_rsa

VSCode Dev Container内で確認

git fetch origin
git push origin HEAD

うまくいきました

まとめ

PCを新しくするたびにやり方忘れますが、公式ドキュメント見てやり直すのがいいですね


PR


Amazonのアソシエイトとして、blog.freks.jp は適格販売により収入を得ています。
This site is managed by freks