Cockpit で、SSL証明書導入してSSL化
ZeroSSLの証明書を利用して、証明書の警告表示されないCockpitの管理画面を作る
Web UI 上で Linux サーバの管理ができる「Cockpit」ですが、通常だと https://[ドメイン]:9090/ or https://[IPアドレス]:9090/のような、URLにアクセスすると利用できます。
私の環境では、IPアドレス:9090/ のIPアドレスで利用しています。URLにアクセスすると下記のSSL証明書の警告がでてるので、なんとか対策したけど、利用頻度が少ないので放置してました
先日「IPアドレスのサーバーを登録SSL証明書を発行する【ZeroSSL】」の記事でも書きましたが、ZeroSSLでIPアドレスで利用できるSSL証明書を導入したので、この証明書を利用して Cockpit でSSL証明書の警告が出ないようにします
Cockpit の証明書を、ZeroSSLの証明書と差し替える
1.ZeroSSLの証明書を任意の場所にアップロードします。SCPを利用してユーザーのホームディレクトリにアップロードしています
# /home/admin/xxx.xxx.xxx.xxx/ 以下にZeroSSLの証明書をアップロードしています $ ls /home/admin/xxx.xxx.xxx.xxx/ ca_bundle.crt certificate.crt private.key
2.「/etc/cockpit/ws-certs.d/」にある、Cockpitの証明書の内容を確認します。
Cockpitで使用している証明書(0-self-signed.cert)は、CSRと秘密鍵を一緒になっています
$ sudo cat /etc/cockpit/ws-certs.d/0-self-signed.cert -----BEGIN PRIVATE KEY----- MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCjO+lpX99qF5A0 yKVkiFIoZtlrCY8NvMMuiBrjMYso9ycB+i8Gt25tTkZ4XUgMczeXsOYHG3Gl3QNL QZBZr0WqVOVM9R1dN1/XxJfSKkb/HaiXP86SSlT5GgALNk+LV1CtoBH2yR9fFz3U M2DtHXbNGugWT+8prn6ufQSVTFDStr245TSn6D90MkTi4VmtBLorjtILjg5u/n64 AY4kHNVUs8nHcNRv+D7/dBzGRy0pOd9KXvQW5a3lqpGZlppOuDImjP9XiX1pv8tP cjxjxK7G5fOIdDloJXpJxog= -----END PRIVATE KEY----- -----BEGIN CERTIFICATE----- MIIEuDCCAqCgAwIBAgIIRqqLBIdNSq4wDQYJKoZIhvcNAQELBQAwbjELMAkGA1UE BhMCVVMxKTAnBgNVBAoMIGNhYzU3NmFjZmU0ODQ0NTM5NWJhNTE3ZDk5MTE0ZmU1 MR8wHQYDVQQLDBZjYS01NDEyMDczNzE0Njk4NzQ4NjM1MRMwEQYDVQQDDAptLXlh YmUuY29tMB4XDTIxMTAyMDAxMTkwNFoXDTIyMTAyNTAyNTkwNFowTTELMAkGA1UE iZEgT3reeIrXdwd8+EIWf9Va6qVg09BNqcs/ogdKc4GsWN/+IwEk7rGc5xckAlbp GT9gMhXyH/I1V91s -----END CERTIFICATE-----
3.Cockpitの証明書と同じく、ZeroSSLの CSRと秘密鍵 を一個のファイルにします。ファイル名は「ssl.cert」として作成します。ファイル名は何でも良いですので任意で変更して下さい
$ cat /home/admin/xxx.xxx.xxx.xxx/certificate.crt > /home/admin/xxx.xxx.xxx.xxx/ssl.cert $ cat /home/admin/xxx.xxx.xxx.xxx/private.key >> /home/admin/xxx.xxx.xxx.xxx/ssl.cert
4.「/etc/cockpit/ws-certs.d/」以下にある、Cockpitの証明書をバックアップして、上記で作成したZeroSSLの証明書と入れ替えます
# Cockpit の証明書は以下の場所にあります $ ls /etc/cockpit/ws-certs.d 0-self-signed-ca.pem 0-self-signed.cert # 一旦、/var/tmp に移動します $ sudo cp -pr /etc/cockpit/ws-certs.d /var/tmp/ # ファイルがコピーされているか確認します $ ls /var/tmp/ws-certs.d 0-self-signed-ca.pem 0-self-signed.cert # ファイルがコピーされていたら、Cockpitが作成したある証明書を削除します $ sudo rm -f /etc/cockpit/ws-certs.d/* # ZeroSSLで発行した証明書で、 CSRと秘密鍵 を一個したファイル(ssl.cert)を、Cockpit のSSL証明書の場所にコピーします $ sudo cp /home/admin/xxx.xxx.xxx.xxx/ssl.cert /etc/cockpit/ws-certs.d/ # コピーされたことを確認します $ sudo ls /etc/cockpit/ws-certs.d/ ssl.cert
5.Cockpit を再起動て、新しい証明書を読み直して有効します
$ sudo systemctl restart cockpit.service
6.ブラウザでアクセスして、ZeroSSLの証明書に変わっている事を確認します
ディスカッション
コメント一覧
まだ、コメントがありません