SSH鍵の運用設計
This content is a draft and will not be included in production builds.
最終的には factotum(4) で鍵を管理したいのだが、2026年5月の時点では対応している暗号スイートが古くて不安のほうが大きいので別の管理方法を選択する。
GPGエージェント+TPMで管理する
Section titled “GPGエージェント+TPMで管理する”gpg-agentをssh-agentとして使うことができるので、基本的にこれで鍵を管理するといいのではないか。SSH鍵を生成するときにTPMを使うような設定にすると、SSH鍵が流出してもTPMが無くて使うことができないので安全になるが、悪意のあるコードが正規のプロセスとして実行されたときは(当然だけど)鍵の利用ができてしまう。
また、レジスタが更新された場合はTPMのレジスタを更新したときに必要な手順の実施が必要になるので面倒ではあるが、下の方法よりは可搬性があるだろう。
GPGエージェント+セキュリティキーで管理する
Section titled “GPGエージェント+セキュリティキーで管理する”SSH鍵を生成するときにTitan Security Key(2023)のようなFIDOセキュリティキーを必須とする方法がある。
この場合はTPMと同じようにSSH鍵が流出しても使えないし、読み込むたびにセキュリティキーのタッチが求められるのでTPMより安全なのだけど、逆に言えば常にセキュリティキーを持ち運ぶ必要があるため可搬性はTPMに劣る。
SSHエージェントで管理する
Section titled “SSHエージェントで管理する”他の方法として、SSHエージェントでセキュリティキーを使う方法もある。これも結局はGPGエージェントでセキュリティキーを使う場合と同じ特徴があるので、普段からGPGエージェントを使っているのであれば、あえてこちらを選ぶ理由はないと思う。