LoginSignup
1
0

Gpg4winとGit for Windowsでgithubを使う①:環境整備

Posted at

はじめに

この記事は,githubにsshアクセスし,gpgで署名付きのコミットを行うための環境整備手順です。

やりたいこと

鍵管理はGpg4winに集中させたいと思います。ssh鍵は、gpgの副鍵の一つとして扱いたいです。
また,Git for Windowsでgithubにsshアクセスできるようにもしたいと思います。

インストール

Gpg4win

普通にインストールするだけです。

Git for Windows

普通にインストールするだけですが,「Choosing the SSH executable」で「Use exteral OpenSSH」を選びます。
image.png

OpenSSHを別途準備するのは,Git for Windows はMSYS2ベースで、内蔵の OpenSSH が ssh-agent と通信しようとする方法が,Gpg4win の期待する方法と異なるためです。

Win32-OpenSSH

Win32-OpenSSHをインストールします。

wsl-ssh-pagent

wsl-ssh-pagentをインストールします。
NamedPipeでの接続を待ち受け,pagent_shmを使ってGpg4winの提供するssh-agentに接続します。

設定

wsl-ssh-pagent

wsl-ssh-pagent-amd64-guiを以下のパラメータで自動起動するように設定します。

> wsl-ssh-pageant-amd64-gui.exe  --winssh ssh-pageant --systray

-gui付きのバイナリはコマンドウィンドウを出さないバージョンなので,--systray オプションを付けます。
OpenSSHはNamed Pipeのssh-pagentに接続すれば、wsl-ssh-pagent 経由でGpg4winと通信できるようになります。

なお今回は、WSLからの接続を中継するための機能は使いません。WSL2の中継が必要であれば,また別のプログラムが必要です。

OpenSSH

環境変数を設定します。
image.png

この設定により、Win32-OpenSSHがNamed Pipeのssh-pagent に接続するようになります。

参考

混沌を極めるWindowsのssh-agent事情
GPG + Git SSH Authentication and Signing on Windows 10

1
0
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
0