1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

devcontainer内でホストのSSH鍵を使ってgitを使うときにハマったメモ

Posted at

前置き

上記の資料を参考に、devcontainerを使う時にホスト側のgitの認証情報を使って操作できる環境を構築していたのですが、自分の環境をいろいろ汚しすぎていて予想外のところでたくさんハマったので参考になればと思い残しておきます。

結論

  • 複数のGithubアカウントでsshするのをやめる
  • 公開鍵はパスフレーズのない公開鍵を作る
  • user.nameとuser.emailはglobalで変えておく

環境

windows + wsl2(ubuntu 22.04LTS) + docker desktop

複数のGithubアカウントでsshするのをやめる

~/.ssh/configを使って複数のgithubアカウントを使い分ける設定をしていました。

git cloneする時はgit@github.com.private:...のようにURLを書き換えることによって使い分けるのですが、どうやらdevcontainerは~/.ssh/configファイルの中身まで見ていないらしく、cloneする時のURLを変えてもdevcontainer内でsshの情報がないとエラーが出ていました。
おとなしくconfigファイルのHost名をgithubにしたらdevcontainerで認識されました!

公開鍵はパスフレーズのない公開鍵を作る

If you clone a Git repository using SSH and your SSH key has a passphrase, VS Code's pull and sync features may hang when running remotely. Either use an SSH key without a passphrase, clone using HTTPS, or run git push from the command line to work around the issue.

公開鍵をパスフレーズ付きで作成して登録していたのですが、上記資料によるとSSHキーにパスフレーズが含まれている場合ハングする可能性があるとのこと。
パスフレーズなしのキーを再作成することでSSH接続確認ができるようになりました!

user.nameとuser.emailはglobalで変えておく

devcontainerはホストのgit globalのuser情報を取得するらしく、違うユーザー名でコミットされているということがありました。思わぬところでユーザーが変わっている可能性があるので気を付けたいですねー
git config --local user.nameでも良さそうですが、最初の資料でもglobalでと書いてありましたし、おとなしく手順書に従っておくのが良さそうです

感想

devcontainer便利ですよね!ただ、一度ハマるとかなり時間を食ってしまうところがネック...
今回の設定を踏まえて、複数のgithubアカウントを切り替えてdevcontainer使うときはSSH公開鍵認証よりもHTTPS認証の方が良いかもしれないと思いました
この記事がどなたかの問題解決の参考になればと思います!
ご一読いただきありがとうございました!

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?