PuTTY などのプログラムが SSH 通信で使用する認証鍵を便利に管理してくれる Pageant というユーティリティがあります。ここで、認証鍵のパスフレーズを入力する際に、パスフレーズを記憶するというオプションがあるんですが、これを有効にしておくと次回からパスフレーズの入力を省けるようになります。使いようによっては便利な機能ですが、それって他人に端末を触られたら、パスフレーズの入力なしに認証鍵で認証できてしまうということです。しかも、一度、このオプションを有効にしてパスフレーズを記憶させてしまうと、GUI からそれを消去することができません。その対応メモ。
Pageantで、記憶させたパスフレーズを消去したいとき。
とりあえずレジストリエディタで、「HKEY_CURRENT_USERSoftwareSimonTathamPuTTY Passphrases」を開いたところ、「crypto1」というそれっぽい文字列値がひとつだけありました。...(省略)...そこで、その「crypto1」をさくっと削除してみたところ、次回からの鍵の追加時に再びパスフレーズを訊いてくれるようになりました。
なるほどー。自分の環境でも、レジストリ エディタで該当するキーを削除することでうまくいきました。レジストリに保存されているデータ列の内容は不明ですが、パスフレーズを記憶するオプションを有効にすると、確かに新しいレジストリ値が作成されていますね。
Pageant で記憶したパスフレーズは、レジストリキー
HKEY_CURRENT_USERSoftwareSimonTathamPuTTYPassphrases
に保存されており、このキーを削除すれば記憶したパスフレーズをリセットできる。
ケアレス ミスなどでオプションを有効にしてしまう度に、レジストリ エディタを開いて、該当のレジストリ キーを探し出して...というのも何なので、Pageant に記憶させたパスフレーズを一発でリセットできるよう、レジストリ ファイルを作ってみました。[ダウンロード]
ダウンロードしたレジストリ ファイルをダブル クリックするだけで、Pageant に記憶されたパスフレーズを全てクリアできます*1。しかし、レジストリ ファイルを探し回るようなことになると本末転倒なので、PuTTY のインストール ディレクトリに放り込んで、スタート メニューにショートカットでも登録しておきましょう。
Windows Registry Editor Version 5.00 [-HKEY_CURRENT_USERSoftwareSimonTathamPuTTYPassphrases]
レジストリ ファイルを自分で書くときに参考にしたページ。