Raspberry Pi で cockpit に mkcert を用いて証明書を作成し、サーバー (cockpit) とブラウザに設定する方法
· 約2分
動作環境
以下の環境で設定を確認しました。
- Raspberry Pi 5
- AlmaLinux
各証明書の意味
raspberrypi.pem: サーバー証明書 (公開鍵) この証明書はraspberrypiというホスト名に対して発行された SSL 証明書です。Web ブラウザなどのクライアントがこの証明書を使ってサーバーの正当性を確認します。(サーバーにインストールするやつ)raspberrypi+1.pem: サーバー証明書 (公開鍵)
この証明書はraspberrypi <IP アドレス>というホスト名に対して発行された SSL 証明書です。同上raspberrypi-key.pem:
raspberrypi.pemに対応する秘密鍵です。サーバー側で保持し、SSL通信の暗号化・復号に使用されます。絶対に外部に漏らしてはいけません。 (サーバーにインストールするやつ)raspberrypi+1-key.pem:
raspberrypi+1.pemに対応する秘密鍵です。サーバー側で保持し、SSL通信の暗号化・復号に使用されます。絶対に外部に漏らしてはいけません。 同上rootCA.pem: ローカルルート証明書 (公開鍵)
mkcertが自動生成したローカルCA (認証局) の証明書です。クライアント (ブラウザなど) にこの証明書をインストールすることで、raspberrypi.pemを信頼できる証明書として扱えるようになります。rootCA-key.pem: ローカル CA の秘密鍵rootCA.pemに対応する秘密鍵で、mkcertがサーバー証明書 (例:raspberrypi.pem) を署名するために使います。mkcertが内部的に使用するもので、通常は触る必要はありません。
証明書の発行
mkcert コマンドを用いて証明書を発行します。発行後、サーバーに配置します。
mkcert raspberrypi <IP アドレス>
sudo cp raspberrypi+1-key.pem /etc/cockpit/ws-certs.d/raspberrypi.key
sudo cp raspberrypi+1.pem /etc/cockpit/ws-certs.d/raspberrypi.crt
sudo systemctl restart cockpit
ローカルルート証明書の場所を確認
PC にルート証明書をインストールするためのルート CA 証明書の場所を確認します。
mkcert -CAROOT
ルート証明書を PC にコピー
ルート証明書を PC にコピーします。
scp raspberrypi:/home/<USER>/.local/share/mkcert/rootCA.pem .
cp rootCA.pem rootCA.cer
Windows で証明書を登録
rootCA.cer を開き、証明書ストアで「信頼されたルート機関」で証明書を登録します。
Android 端末で証明書を登録
rootCA.pem を端末に移動し設定から登録します。
