CentOS 9のCockpitで、Let’s EncryptのSSL証明書を使う

2024-08-08

この記事は、以前の「CentOS Stream release 9」で利用していました。
最新版のCockpitでは、マージした証明書とプライベートキーはサポート外となっているので、下記の記事の方法で対応して下さい

CentOS Stream 9のCockpitで、Let’s EncryptのSSL証明書を利用する

 

以下は、古い内容の記事となります。現行バージョンでは対応していないかと思います

CockpitのSSL証明書はZeroSSLのIPベースの無料証明書を利用していましたが、先日の更新のタイミングで無料だと更新できなくなりましった。期限切れで失効した証明書が多すぎるのが原因かはわかりませんが、作成する証明書のプランで無料プランが選べなくなっています。また、違うメールアドレスで新たにアカウントを作っても駄目でした

仕方が無いので、設定ファイルを編集してIPアドレスではなくCockpitを利用しいるサーバーで管理しているドメインでアクセスするように変更しようと思いましたが、「/etc/cockpit/cockpit.conf」がありません。CentOS Stream 9だと設定ファイルがどこかにあるかが見つかりませんでした。

Cockpitで利用しているSSL証明書が保存されているディレクトリに、このサーバーで利用している Let’s EncryptのSSL証明書を利用する事にしました。導入手順の流れは、下記のURLとほぼ同じです

Cockpit で、SSL証明書導入してSSL化

1.Cockpitで使用しているSSL証明書は、CSRと秘密鍵 が1個のファイルなっているのでCSRと秘密鍵 を一個のファイルにします

# cert.pemの内容をssl.certに書き込みます
$ sudo cat /etc/letsencrypt/live/example.com/cert.pem > /var/tmp/ssl.cert
# privkey.pemの内容をssl.certに追記して書き込みます
$ sudo cat /etc/letsencrypt/live/example.com/privkey.pem >> /var/tmp/ssl.cert

2.CockpitでSSL証明書がある箇所に先ほど作成したSSL証明書をコピーします

$ sudo cp /var/tmp/ssl.cert /etc/cockpit/ws-certs.d/

3.Let’s EncryptのSSL証明書で発行しているドメインのURLでアクセスできるか確認します。

htttps://example.com:9090

※他のバージョンのCentOS系で確認していませんが、CentOS 8系とかでも上記の作業でLet’s EncryptのSSL証明書は利用できると思います