14.3.6. PKCS#11 トークンを使用した SSH 証明書の署名
-D
を使用してトークンライブラリーを提供し、-s
オプションに公開半分を引数として指定することで、PKCS#11 トークンに保存されている CA キーを使用してホストキーに署名できます: ssh-keygen -s ca_host_key.pub -D libpkcs11.so -I certificate_ID host_key.pubいずれの場合も、certificate_ID は、証明書が認証に使用される際にサーバーによってログに記録される 「鍵識別子」 です。
証明書は、ユーザーまたはホスト名(プリンシパル)のセットでのみ有効になるように設定できます。デフォルトでは、生成された証明書はすべてのユーザーまたはホストに対して有効です。指定のプリンシパルセットの証明書を生成するには、以下のように
-Z
オプションを指定してコンマ区切りリストを使用します。
ssh-keygen -s ca_user_key.pub -D libpkcs11.so -I certificate_ID -Z user1,user2 id_rsa.pub
ホストの場合:
ssh-keygen -s ca_host_key.pub -D libpkcs11.so -I certificate_ID -h -Z host.domain ssh_host_rsa_key.pub
有効性およびユーザー証明書の使用に関する追加の制限は、証明書オプションで指定できます。証明書オプションは、特定のソースアドレスから提示された場合にのみ SSH セッションの機能を無効にするか、特定のコマンドの使用を強制できます。有効な証明書オプションの一覧は、
-O
オプションの ssh-keygen(1)
man ページを参照してください。
証明書は、特定の有効期間に対して有効になるように定義できます。
-V
オプションを使用すると、証明書の開始時間と終了時間を指定できます。例: ssh-keygen -s ca_user_key -I certificate_ID id_rsa.pub -V "-1w:+54w5d"この範囲外の時点で提示される証明書は有効とみなされません。デフォルトでは、証明書は UNIX Epoch から無期限に有効になります。