Ubuntu 26.04 をサーバーとして運用する場合、通常の管理は SSH、systemd、ログ、設定ファイルを中心に行います。一方で、稼働状況やサービス状態を Web UI で確認できると、初期確認や障害時の一次切り分けが楽になる場面があります。
Cockpit は、Linux サーバーの状態確認や簡単な管理操作をブラウザから行うための Web UI です。この記事では、Ubuntu 26.04 で Cockpit を導入し、cockpit.socket、9090/TCP、TLS 証明書、ログ確認の位置づけを整理します。
Cockpit は管理の主役ではなく補助 UI として使う
Cockpit は便利ですが、サーバー管理の主役を Web UI に置き換えるものではありません。設定ファイル、systemd、ログ、firewall、証明書の設計は従来どおり重要です。Cockpit は、それらの状態を確認し、必要に応じて補助的に操作する入口として考える方が自然です。
| 観点 | 考え方 |
|---|---|
| 主な用途 | サービス状態、ログ、リソース、ストレージ、ネットワークの確認 |
| 管理の中心 | SSH、設定ファイル、systemd、構成管理 |
| 公開範囲 | 管理用ネットワークや VPN 内に限定する |
| 認証 | OS ユーザーと権限設計に依存するため、sudo 権限の扱いを確認する |
| TLS | 自己署名証明書や内部 CA 証明書を使う場合は、証明書配置と信頼設定を分けて考える |
現在の状態を確認する
まず、Cockpit が既に導入されているか、socket が有効化されているかを確認します。Ubuntu Server の構成によっては、最初から入っていないこともあります。
dpkg -l cockpit
systemctl status cockpit.socket
systemctl is-enabled cockpit.socketcockpit.socket は、Cockpit の待ち受けを管理する systemd socket です。通常は cockpit.service を常時起動するのではなく、socket activation によって必要に応じて処理されます。
Cockpit をインストールする
Cockpit 本体は cockpit パッケージとして導入できます。サーバー用途では、追加機能を入れすぎず、まず最小構成で状態確認できるところまで作るのが扱いやすいです。
sudo apt update
sudo apt install -y cockpitcockpit.socket を有効化する
インストール後は、cockpit.socket を有効化して起動します。Cockpit の標準ポートは 9090/TCP です。管理画面なので、インターネットへ広く公開するのではなく、管理用ネットワーク、VPN、踏み台、アクセス制御と組み合わせて扱います。
sudo systemctl enable --now cockpit.socket
systemctl status cockpit.socket
ss -ltnp | grep :9090firewall を使っている場合は、9090/TCP をどこから許可するのかを明確にします。Cockpit は便利な入口である一方、管理入口でもあります。公開範囲を曖昧にしないことが重要です。
TLS 証明書を配置する
Cockpit は HTTPS でアクセスします。検証環境では自己署名証明書でも動作確認できますが、内部運用では内部 CA で発行した証明書を配置し、管理端末側で CA を信頼しておく方が扱いやすくなります。
Cockpit の証明書は、一般的に /etc/cockpit/ws-certs.d に配置します。証明書と秘密鍵のファイル名は、対象ホスト名に合わせておくと管理しやすいです。秘密鍵は読み取り権限を絞ります。
sudo mkdir -p /etc/cockpit/ws-certs.d
sudo install -o root -g root -m 0644 /path/to/server.cert /etc/cockpit/ws-certs.d/server.example.com.cert
sudo install -o root -g root -m 0600 /path/to/server.key /etc/cockpit/ws-certs.d/server.example.com.key配置後、Cockpit が証明書を選択できる状態か確認します。証明書を差し替えた場合は、cockpit.service を再起動して反映します。
sudo /usr/lib/cockpit/cockpit-certificate-ensure --check
sudo systemctl restart cockpit.serviceブラウザから接続する
ブラウザから https://サーバー名:9090/ にアクセスします。内部 CA を使っている場合は、クライアント側で CA 証明書を信頼しておく必要があります。証明書の警告が出る場合は、Cockpit 側の証明書配置だけでなく、クライアント側の信頼設定も確認します。
curl -vk https://server.example.com:9090/ログインは OS ユーザーを使います。管理操作を行う場合は、対象ユーザーの sudo 権限や認証方式も関係します。Web UI でログインできることと、管理操作を安全に許可することは分けて考えます。
サービスとログを確認する
接続できない場合は、socket、サービス、待ち受けポート、ログを順番に確認します。Cockpit は Web UI ですが、切り分け自体は通常の Linux サービスと同じです。
systemctl status cockpit.socket
systemctl status cockpit.service
journalctl -u cockpit.socket -u cockpit.service --no-pager -n 100
ss -ltnp | grep :9090運用上の注意点
Cockpit を入れると、サーバーの状態をブラウザから確認しやすくなります。ただし、便利だからといって管理入口を増やしすぎると、セキュリティ上の責任範囲も広がります。
| 項目 | 注意点 |
|---|---|
| 公開範囲 | 9090/TCP を管理用ネットワークに限定する |
| 認証 | OS ユーザー、sudo、SSH 鍵認証の運用と矛盾しないようにする |
| 証明書 | 内部 CA、SAN、ホスト名、クライアント側の信頼設定を確認する |
| ログ | 接続失敗時は Cockpit だけでなく systemd journal も確認する |
| 役割 | 常用の構成変更 UI ではなく、状態確認と補助操作の入口として扱う |
まとめ
Ubuntu 26.04 で Cockpit を導入すると、サーバーの状態、サービス、ログ、ストレージ、ネットワークを Web UI から確認できます。特に検証環境や管理対象が増えてきた環境では、一次確認の入口として便利です。
一方で、Cockpit は管理用の入口です。cockpit.socket、9090/TCP、TLS 証明書、OS ユーザー、sudo 権限をまとめて確認し、公開範囲を限定して使う必要があります。管理の主役はあくまで設計された構成管理と Linux の基本操作であり、Cockpit はそれを補助する Web UI として位置づけるのがよいと思います。
Ubuntu Server の運用項目を体系的に確認したい場合の参考書籍です。価格や在庫はリンク先で確認してください。
Amazon で見るこのリンクは Amazon アソシエイトリンクです。



