INFRA

Windows10 - WSLのbashとWindows間でSSH Keyの管理をシンプルにしたい

WSLのbashでsshコマンドが使えるのですが、WindowsのアプリはPuTTY形式の鍵(.ppk)が必要なケースも結構あります。鍵の管理をなるべくシンプルにしたいです。

方針

とりあえず下記を考えました。

  • bashの.sshディレクトリのリンクをWindows側で持つ。
  • ppkが必要な鍵だけ、puttygenで作成し、pageantに登録する。
  • pageantはWindows起動時に実行させる。

Windows側に.sshフォルダのリンクを作成する

  • Cドライブ直下に.sshフォルダ(のリンク)を作ってみます。
Terminal window
$ mkdir /mnt/c/.ssh
$ cd /mnt/c/.ssh
$ ln -s ~/.ssh bash

puttygen・pageantをダウンロードする

  • 下記から、pageant.exeと、puttygen.exeをダウンロードします。
  • Download PuTTY: latest release (0.73)
  • pageant.exeは、鍵を管理してくれるアプリです。
  • puttygen.exeは、OpenSSH鍵をPuTTY鍵に変更できるツールです。

Image from Gyazo

  • ダウンロードしたら、2ファイル共.sshフォルダ(/mnt/c/.ssh)に移動させます。

ppkの作成

  • 必要に応じてputtygenで、ppkファイルを作成します。
  • 作成したppkファイルは、/mnt/c/.sshに移動します。

pagentにppkを追加する

  • pagentを起動して、作成したppkを追加します。これで毎回パスフレーズを入力しなくて済みます。

pagentをWindows起動時に実行させるようにする

参考

まとめ

これで、bashは普通にsshコマンド使えるし、そのリンクがwindows側でもあるので、GUIでそのままOpenSSH鍵使える場合はすぐ参照できるし、PuTTY鍵が必要な場合は、すぐ作れるし、pagentに登録しておけばパスフレーズ入力工数も減るのかなと思いました。