この記事ではUbuntuにCockpitをインストールする方法を解説します。対象となるUbuntuのバージョンは24.04です。
はじめに
近年、サーバー管理はますます複雑化しており、管理者にとって大きな負担となっています。そこで今回は、Webブラウザからサーバーを簡単に管理できるツール「Cockpit」をUbuntu 24.04にインストールする方法をご紹介します。
Cockpitとは?
Cockpitは、Webブラウザからサーバーを管理するためのツールです。そのため、サーバーにログインする必要がありません。ブラウザさえあれば、どこからでもサーバーを管理することができます。
主な機能
関連記事
開発環境
Cockpitの導入
インストール
cockpitパッケージをインストールします。
$ sudo apt install cockpit
接続
Cockpitにはhttps://<アドレス>:9090
でアクセスできます。ページ左下の詳細設定をクリックします。
この段階ではサーバー証明書を用意していないため、保護されていない通信になります。今はこのままでアクセスします。のちの章でサーバー証明書を用意します。
この記事では、Mac miniのChromeからアクセスしてみます。
すると、安全ではないがアクセスするかと確認されます。クリックして次に進みます。
ログイン画面が表示されるので、ユーザ情報を入力します。
ログインするとこのようなページが表示されます。
https通信
Cockpitには無事ログインできましたが、今のままだと通信が保護されていません。ローカルネットワークの場合は問題ないのですが、見栄えが悪いので対応したいと思います。
自己認証局を立てて、その認証局に署名をもらうサーバー証明書を作成します。いわゆるオレオレ証明書です。
認証局
自己認証局の証明書と秘密鍵の作成を行います。
この作業は、Cockpitが起動しているUbuntu 24.04で行います。まず、mkcertをインストールしてきます。執筆時点のバージョンは1.4.4
なのでこれを使用します。
$ sudo apt install mkcert
$ mkcert --version
1.4.4
自己認証局の証明書と秘密鍵の作成を行います。そのために、mkcer --install
コマンドを実行します。
$ mkcert --install
Created a new local CA 💥
The local CA is now installed in the system trust store! ⚡️
mkcert -CAROOT
コマンドを実行すると証明書と秘密鍵が作成されたパスを表示します。
$ mkcert -CAROOT
$ /home/higmasan/.local/share/mkcert
表示された場所を確認すると、確かに作成されています。rootCA-key.pem
(秘密鍵)、rootCA.pem
(証明書)。
$ ls /home/higmasan/.local/share/mkcert
rootCA-key.pem rootCA.pem
サーバー証明書
サーバーの証明書と秘密鍵を作成します。この作業も、Cockpitが起動しているUbuntu 24.04で行います。
mkcert <サーバードメインorサーバーIPアドレス>
でサーバー証明書が作成できます。この記事ではCockpitが起動しているマシン (192.168.11.2)の証明書を作成します。なので、mkcert 192.168.11.2
を実行します。
$ mkcert 192.168.11.2
Created a new certificate valid for the following names 📜
- "192.168.11.2"
The certificate is at "./192.168.11.2.pem" and the key at "./192.168.11.2-key.pem" ✅
It will expire on 4 August 2026 🗓
192.168.11.2-key.pem
(秘密鍵)と、192.168.11.2.pem
(証明書)が作成されます。
$ ls
192.168.11.2-key.pem 192.168.11.2.pem
Cockpitでサーバー証明書を使う
Cockpitでサーバー認証をするためには、先ほど作成したサーバー証明書と秘密鍵を/etc/cockpit/ws-certs.d/
ディレクトリに置く必要があります。その時に、秘密鍵の拡張子を.key
、証明書の拡張子を.crt
にしてください。
$ sudo mv 192.168.11.2-key.pem /etc/cockpit/ws-certs.d/192.168.11.2.key
$ sudo mv 192.168.11.2.pem /etc/cockpit/ws-certs.d/192.168.11.2.crt
ブラウザの設定
この設定はMacの場合の説明です。WindowsやLinux、別のブラウザだと少し違うかもしれませんが、本質的には変わりません。
ここでは、Chromeの設定で認証局の証明書をインストールします。まず、アドレスバー左側の「保護されていない通信」をクリックします。出てきたメニューの「サイトの設定」をクリックします。
次に、「プライバシーとセキュリティ」をクリックして、「セキュリティ」をクリックします。
表示されたページで、「証明書の管理」をクリックします。
Macの場合は次のような「キーキェーンアクセス」のウィンドウが表示されます。そして、「システム」→「証明書」→「四角に鉛筆のマーク」の順にクリックします。認証局の章で作成したrootCA.pem
を選択します。
すると、新しい証明書が表示されるのでクリックします。
すると、下のようなウィンドウが表示されます。「信頼」を表示すると「この証明書を使用するとき」の項目が「システムデフォルトを使用」になっています。
これを「常に信頼」に変更します。
すると、青色のプラスのマークに変わっています。これで認証局の設定は完了です。
動作確認
無事、通信が保護されるようになって、赤文字の警告がなくなりました。
まとめ
この記事では、Ubuntu 24.04にCockpitをインストールしました。その後、サーバー証明書を登録して通信を保護しました。
Cockpitの導入でサーバー管理が楽になったと思います。Linuxを使いこなしてつよつよエンジニア目指しましょう!
コメント