更新日:
投稿日:
あらかじめgpgのパスをPATHに通しておくと良い
参考値:C:\Program Files (x86)\GnuPG\bin
| Env |
Ver |
| Windows 10 Pro |
Build 19042.804 |
| git |
2.30.0.windows.1 |
| VSCode |
1.53.2 |
| Kleopatra |
Gpg4win-3.1.15 |
Windows側からVSCodeのRemote - SSHで接続
| Env |
Ver |
| Ubuntu Desktop |
20.04.2 |
| git |
2.25.1 |
| gpg |
2.2.19 |
- Kleopatoraを起動
- ファイル> New Pair Key
- 個人用のOpenPGP鍵ペアを生成
- 期限なし、パスフレーズは適当に
- Exportから
-----BEGIN PGP PUBLIC KEY BLOCK----- の中身を全部GitHubの GPG keys/ Add new に貼り付ける
- 追加後にでてきた
Key ID を git config --global user.signingkey KeyID として cmd に流す
- 以下を流す(
gpg.program はなくても動くが、あったほうが問題が起きない)
```bat
git config --global commit.gpgsign true
git config --global gpg.program "C:\Program Files (x86)\GnuPG\bin\gpg.exe"
```
- 管理者権限で
cmd を起動し次のシンボリックリンクを作成
mklink /D %USERPROFILE%.gnupg %AppData%\GnuPG
- VSCodeで適当なリポジトリを作成
- なんか適当にコミットする
- GitHubに投げる
- GitHubのコミット履歴にverified signatureがついてたら成功
- Windows側のKleopatoraから公開鍵と秘密鍵をエクスポートして持ってくる
gpg --import FooBarpublic.asc で公開鍵をインポート
gpg -k でインポートされていることを確認し、下記XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX相当の部分をコピペ
pub rsa3072 2021-01-17 [SC]
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
uid [ 不明 ] Foo Bar <foobar@example.com>
sub rsa3072 2021-01-17 [E]
gpg --edit-key XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
trust
5を選ぶ
quit
gpg -kで信用度が[ 究極 ]になっていることを確認
gpg --import FooBarSECRET.ascで秘密鍵をインポート
- SSHで繋いでいる時でタイムアウトする場合、GUIプロンプトからの入力になっている可能性があるので、どうにかして入力
- XRDP経由なら
pkill gnome-sessionを叩くと入れる
- Windowsの時と同様に次のコマンドを流す
git config --global user.signingkey KeyID
git config --global commit.gpgsign true
- VSCodeで適当なリポジトリを作成
- 何か適当にコミットする
- コミットがコケたらXRDPから入力する
- GitHubに投げる
- GitHubのコミット履歴にverified signatureがついてたら成功
以下の手順が参考になる
WSL2のUbuntuでGPGキーのパスフレーズを記憶させる