📑

Windows で VSCode Remote Container で gpg forwarding

2020/09/21に公開

VSCode Remote Container 拡張を使っていると、各コンテナ上に開発環境を作ることとなる。
セットアップの自動化はできるものの、gpg 鍵をどうしたものか悩ましかった。

https://code.visualstudio.com/docs/remote/containers#_personalizing-with-dotfile-repositories

VSCode Remote Container 拡張は gpg forwarding ができるが、使うためにはコツが必要だったので備忘録に書いておく。

https://github.com/microsoft/vscode-remote-release/issues/3168#issuecomment-695762133

  1. [Windows 上] Gpg4win のインストール

    https://www.gpg4win.org/

    GUI で動く pinentry が欲しいだけ。WSL2 側で pinentry-qt 動かすでもいいと思われるが、X とか入れるの面倒だったのでこれで済ませた。

  2. [WSL2 上] socat と gpg のインストール

    sudo apt install socat gpg

    socat は VSCode がコンテナとホストで通信するのに使っている?
    なんかダイアログがでたので入れている

  3. [WSL2 上] pinentry-program として pinentry.exe を使うようにする

echo pinentry-program /mnt/c/Program\ Files\ \(x86\)/Gpg4win/bin/pinentry.exe > ~/.gnupg/gpg-agent.conf
gpg-connect-agent reloadagent /bye

以上の手順を済ませば gpg 鍵を作るなり、import するなりすれば、それをコンテナ上でも使えるようになる。

Discussion