freks blog

about

Dev ContainerからGitHubにpushする

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

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

うまくいきました

追記)

~/.bashrc に鍵を追加するコマンドをいれないと再起動後に動きませんでした

eval `ssh-add ~/.ssh/github_rsa > /dev/null 2>&1`

まとめ

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


PR


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