Visual Studio CodeのRemote Container(devcontainer)から開発する際に、コンテナ内からもGitリポジトリにプッシュなどしたいケースがあると思います。何も設定していない場合は当然コンテナにはSSHの鍵が無いのでリポジトリを操作できません。それを出来るようにします。
ssh-agent
をバックグラウンドで動かして鍵を追加しておくとRemote Containers
拡張機能がうまいことやってくれるよ~/.ssh
をマウントしたりするんじゃないよGenerating a new SSH key and adding it to the ssh-agent - GitHub Docs
たまに、コンテナ内でもsshをセットアップして鍵を作るようにしたり、ホストの.ssh
をコンテナ側からマウントしたりする方法を見かけますが、Visual Studio CodeのRemote Containers拡張機能にはホストの資格情報を共有する機能が備わっているので、そういった方法は必要ありません。
ssh-agent
に追加するGenerating a new SSH key and adding it to the ssh-agent - GitHub Docs
こちらのドキュメント通りに設定していれば、すでに完了しているはずですが、ssh-keygen
とGitHubのSSH Key登録だけ行って、ローカルのssh-agent
への追加をしていない人も多いのではないでしょうか?
SSH Keyを使ってGitHubのリポジトリを操作するだけなら、ssh-keygen
して、鍵を登録するだけで事足りてしまうし、そのように解説しているブログ記事なども多いです。
鍵は作ってある前提で、ssh-agent
に登録する方法を以下に記載します。
$ eval "$(ssh-agnet -s)"
Agent pid 47401