step-caでSSH証明書認証を導入する小規模構成

サーバー台数が増えると公開鍵の配布管理が破綻する。step-caをSSH CAとして立て、短命証明書でログインする構成の導入手順を解説する。

CAの初期化

step ca init --sshでSSH対応のCAを作成する。ホスト鍵とユーザー鍵の2系統のCA鍵が生成される。

サーバー側の信頼設定

sshd_configにTrustedUserCAKeysでユーザーCA公開鍵を指定する。以後、そのCAが署名した証明書を持つユーザーはauthorized_keysなしでログインできる。

クライアントの証明書取得

step ssh loginでOIDC認証を通すと短命のユーザー証明書が発行される。有効期限を数時間に絞れば鍵漏洩時の被害を限定できる。