0
0

CSM: 一時的なSSH証明書をためす

Last updated at Posted at 2024-07-23

概要

別の記事"CSM: Dynamic Secretをためす"にて、"必要なときに作成され、利用後削除される'一時的に利用される認証情報'"である Dynamic Secretの利用について、ご紹介させていただきました。
SSHでの 公開鍵と秘密鍵を利用した認証がよく用いられますが、多くのサーバにアクセスする必要がある場合、公開鍵を各サーバへの設定が必要で、管理が大変です。管理が複雑なため、不必要になった鍵をそのままにしておりたり、同じ鍵を長期間利用し続ける等、管理上の問題が生じることとなり、セキュリティ上の懸念があります。

今回、ご紹介する方法では、SSHの公開鍵と秘密鍵のペアを利用する代わりに、一時的なSSH証明書を発行してSSHの認証を行う方法をご紹介します。

目的

最短で、CSMで一時的な証明書を発行し、SSHでの利用をためします

参照ドキュメント

手順

CSMのセットアップ

CSMのセットアップがまだの場合は、まずCSMのセットアップ ("CSM: Dynamic Secretをためす") を行います

signing-keyの作成

CAでの署名で必要となる、RSAの鍵を用意します
既存のキーをインポートすることも可能ですが、今回は新規作成を行います

Items > New > Encryption Key > DFC を選択します

CSM_SSH-1-2a.png

"Name"へ鍵名(任意:例"signing-key")を入力し、"Next"をクリックします

CSM_SSH-1-3a.png

”Type"で"RSA2048"を選択、"Generated By"で、"Akeyless"を選択し、"Next"をクリックします

CSM_SSH-1-4a.png

"get Public RSA key"をクリックします
CSM_SSH-1-5a.png

”RSA Public Key"の値をコピーします
CSM_SSH-1-6a.png

サーバの設定

SSHサーバ側の "/etc/ssh/ca.pub"へ先ほどコピーした”RSA Public Key"の値を保存します

$ sudo vi /etc/ssh/ca.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDIuaTlibfGhg3l6Wxrm+UbMDMYRHftWBGZRe7GSTLwyC+48++CEjsDICi2zeYtviq9pueDN+gTrdG/uV/c74gWdDbJsijPmUynqfdTYQpU+TYSInpbrGOOnL0rl7X2am3Qp5cRXYheoHwdf2EOzNhQt7+G7ByCW8i+qmttCIsLAU7ZU0rWJh2HQBBwW9mgVk0DfKBxdm4tdjkhW+bDlEyVwpBIsav2C4avb2APNJJwhqKDfUFKeX5kYQvsmQvitkkoT7z8+eURmEqznv453W09sboHHiyFzn7/o9dYSdfIB3L09nRzJ23M0RubJwXAWMFlyhtitT/y64Q67PaE/XSh

"/etc/ssh/sshd_config"の最後へ下記2行を追加します

$ sudo vi /etc/ssh/sshd_config
    ...
	TrustedUserCAKeys /etc/ssh/ca.pub
	PubkeyAcceptedKeyTypes=+ssh-rsa,ssh-rsa-cert-v01@openssh.com

sshdの再起動を行います

$ sudo service ssh restart

CAの作成

Items > New > "SSH Cert Issuer" を選択します
CSM_SSH-2-1a.png

Nameに"SSH Cert Issuer" の名前(任意:例"ssh-cert-issuer")を入力します
"Signer Key"で、作成したRSA鍵(例:"/signing-key")をリストより選択します
"Allowed User(s)"で、sshの対象のユーザを入力します
"Certificate lifetime in seconds"で、SSH証明書の有効期間の指定が可能です(今回は変更なし)
CSM_SSH-2-2a.png

"SSH Cert Issuer"が作成されたことを確認します
CSM_SSH-2-3.png

SSH証明書の発行

sshクライアント側で、一時的に利用可能なSSH証明書の発行をおこないます

akeyless get-ssh-certificate --cert-username ubuntu --cert-issuer-name ssh-cert-issuer --public-key-file-path ~/.ssh/id_rsa.pub

これにて、一時的に利用可能なSSH証明書をもちいて、sshが利用できるようになりました

補足

SSH証明書の他、PKI/TLS証明書もサポートしています

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0