Open7
Hashicorp VaultでSSHのCA認証
まずはsshエンジンを有効化
vault$ vault secrets enable -path=ssh-ca ssh
Success! Enabled the ssh secrets engine at: ssh-ca/
なんでpkiエンジンとsshエンジン分かれてるのか?
そもそもsshは証明書を使っているわけではない??認証局の公開鍵をsshd_configへ登録するみたい。
TrustedUserCAKeys <<鍵のパス>>
opensshのCA認証の仕組みをちゃんと理解できていない。
pkiエンジンでopensshのssh証明書認証はできないことが分かったので、素直にsshエンジンで鍵ペアを作る。
# host key用のエンジンも建てる予定なので、client用のpathが分かりやすいように立て直した。
vault$ vault secrets enable -path=ssh-client-signer ssh
Success! Enabled the ssh secrets engine at: ssh-client-signer/
vault$ vautl write ssh-client-signer/config/ca generate_signing_key=true
Key Value
--- -----
public_key ssh-rsa XXXXXXX
sshエンジン有効化後、hashicorp公式チュートリアルにのっとってroleを作成、sshd_config設定変更、ssh証明書の作成で問題なくSSH証明書による認証ができた。
今後やること
- ホストキーもsshエンジンを使う。
- プリンシパルを使って、ユーザやサーバ単位の権限制御を実験する。(参考文献は下部)
- sshエンジンのroleはどんな単位で作成すべきか考察する。