DELLのサーバに搭載されているiDRACは便利だが、デフォルトで自己署名証明書を利用するので、何かとブラウザの警告が気になる。
勿論、証明書自体を信頼(インポート)してしまえば良いのだが、
- 他のデバイスから接続することを考えると何ら解決とは言えない
- Cloudflare Accessでエンドポイントを保護しながらインターネット上に公開する際、Full (Strict)が使えない
などなど、痒い所に手が届かない。
今時、証明書自体簡単に発行出来るし、iDRAC自体も任意の証明書をインポート出来る。
結論から書くと、以下のような感じで処理をすればよい。今回はDNS-01で行いたかったため、Cloudflareのプラグインを利用している。
# 証明書の発行
# HTTP-01だとWebサーバを公開しないといけなく、面倒なのでDNS-01を使用する
certbot certonly \
--agree-tos \
-m [email protected] \
--rsa-key-size=4096 \
--key-type rsa \
--dns-cloudflare \
--dns-cloudflare-credentials /etc/letsencrypt/cloudflare.ini \
--dns-cloudflare-propagation-seconds 60 \
-d idrac.example.com
# 秘密鍵の登録
racadm -r [IP] -u [User] -p [Password] sslkeyupload -t 1 -f /etc/letsencrypt/live/idrac.example.com/privkey.pem
# 公開鍵の登録
racadm -r [IP] -u [User] -p [Password] sslcertupload -t 1 -f /etc/letsencrypt/live/idrac.example.com/fullchain.pem
# iDRACのリセット(再起動)
racadm -r [IP] -u [User] -p [Password] racreset
上記は全てArch Linux上にて行っていて、以下のパッケージで対応が出来る。
とりあえずこれを定期的に systemd-timer
などで実行するようにすれば、いい感じになりそう。