- blogs:
- cles::blog

Git for Windows でも Pageant が使いたい!!




Git for Windows で Pageant を使った認証をやろうとしたら意外と面倒な作業になってしまいました。
† [失敗] plink.exe は簡単だけど・・・
Git for Windows で ssh の公開鍵認証をしたい場合には、最も単純な方法として環境変数 GIT_SSH
に PuTTY の plink.exe
のパスを設定する方法があります。さっそく試してみたところ、以下のプロンプトが出たときに y
を入力することとができないので、この方法は断念。ネットで検索*1するとそれなりの件数がヒットするので、良くあるハマりパターンのようです。
Store key in cache? (y/n)
† Windows 10 付属の OpenSSH + wsl-ssh-pageant + Pageant (PuTTY) の組み合わせ
僕は普段、SSH は TeraTerm + Pageant (PuTTY) という環境で使っていて、公開鍵の管理も Pageant に寄せてあります。最近の Windows 10 には OpenSSH が標準で搭載されていますが、これは Pageant にはもちろん対応していないので、これまで使うことはありませんでした。
単純な方法としては .ppk を OpenSSH 形式に変換して鍵自体を OpenSSH に合わせてしまうという方法もありますが、これは秘密鍵をもう一式持つことになるという欠点がありませす。鍵のファイルが増えると管理が面倒なので、今回は OpenSSH と Pageant の仲立ちをしてくれる wsl-ssh-pageant というユーティリティを使う事にしました。この方法も結構面倒ですが、鍵の管理に比べたらマシです。
† wsl-ssh-pageant のセットアップ
wsl-ssh-pageant のリポジトリから wsl-ssh-pageant-amd64-gui.exe のバイナリを取得します。
適当なところに配置したら、バイナリと同じ場所に以下のような bat ファイルを作成します。
wsl-ssh-pageant-start.bat
ファイルができたら、あとはこの bat をダブルクリックすると wsl-ssh-pageant を起動することができます。
うまく起動できればタスクトレイにオレンジ色の鍵のアイコンが見えるはずです。
次回以降は自動起動するように、スタートアップにショートカットを放り込んでおくと良いと思います。
† OpenSSH と Git for Windows の設定
あとは Git for Windows に Windows 10 標準の OpenSSH を使うようにすることと、Windows 10 標準の OpenSSH に ssh-agent の代わりに wsl-ssh-pageant を使うように設定をしてやれば、頭書の問題は解決できます。前者は GIT_SSH
環境変数を設定することで、後者は SSH_AUTH_SOCK
環境変数を設定することでそれぞれ実行することができます。
GUI からやっても良いのですが、打ち間違えが怖いのでコマンドで直接レジストリを書き換えることにします。
ユーザー環境変数で十分なので、以下のコマンドは管理者権限で実行する必要はありません。
これで Git for Windows でも Pageant による公開鍵認証ができるはずです。
このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/12492
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。
OpenID を使ってログインすることができます。
2 . Word で数式がグレーアウトされていて挿入できないときは(6755)
3 . Windows 10 で勝手にログアウトされないようにする(5160)
4 . Firefox でパスワードが保存されるページとされないページの違い(3909)
5 . awk で指定した n カラム目以降を出力する(3484)