Red Hat ブログ
Blog menu
Red Hat Enterprise Linux (RHEL) システムをリモートで管理する場合、SSH 接続経由でコマンドライン・インタフェースを使用する方法と RHEL Web コンソールを使用する方法の 2 つがあります。
Web コンソールは、ストレージ、ユーザー、ファイアウォールの管理、パフォーマンスメトリクスの監視、ログファイルの確認、システム更新のインストールなど、さまざまなタスクの実行に使用できるシステムを管理および監視する Web ベースのグラフィカル・インタフェースを提供します。Web コンソールの詳細は、RHEL 9 Web コンソールを使用したシステムの管理 を参照してください。
お使いの環境で Web コンソールを使用している場合、組織のセキュリティ要件を満たすように適切に設定することが重要です。
RHEL Web コンソールは、アップストリームの Cockpit プロジェクト をベースとしています。RHEL では、RPM パッケージやその他のコンポーネントで Cockpit という名称が使用されているため、Web コンソールと Cockpit が混在していますが、この 2 つは同じものを指しています。
Red Hat Web コンソールへのアクセス方法
Web コンソールには、主に 2 つの方法でアクセスできます。
-
SSH 接続を使用して Web コンソールにアクセスする方法。
-
各 RHEL ホストで Cockpit Web サーバーを実行し、HTTPS 接続経由 (デフォルトは ポート9090) で接続する方法。
すべてのホストで Cockpit Web サーバーを実行する方法にはデメリットがあります。まず、システム上でポートを開放すると、例外なく攻撃対象領域が増加します。Web コンソールはデフォルトで自己署名証明書を使用するため、中間者攻撃につながる可能性もあります。当然ながら、Web コンソールでは署名付き TLS 証明書の使用もサポートされていますが、Web コンソールの実装と維持に必要な時間と作業も増加します。このようなデメリットを考慮すると、SSH 接続を使用するアクセス方法が推奨されます。
この記事では、SSH 接続を使用してアクセスする方法について説明します。各 RHEL ホスト上における Cockpit Web サーバーの実行については、別の記事で説明する予定です。
SSH を使用した Web コンソールへの接続
SSH 接続を使用して Web コンソールにアクセスする方法は複数あります。
-
単一の bastion ホストで Cockpit Web サーバーを実行し、これを使用して SSH 経由でリモートの RHEL ホストに接続する方法。
-
Satellite のリモート実行 SSH キー/インフラストラクチャを使用して Web コンソールと Red Hat Satellite を統合する方法。
-
Linux ワークステーションで実行できる Cockpit Client Flatpak アプリケーションを使用する方法。この場合、SSH 接続を使用してリモートホストの Web コンソールに接続します (Red Hat は Cockpit Client Flatpak に対するサポートを提供していませんのでご注意ください)。
上記の方法では、Web コンソールにアクセスするリモートホストは Cockpit Web サーバーを実行する必要がなく、ファイアウォールで SSH ポート以外のポートを開放する必要も、TLS 証明書を設定する必要もありません。
SSH 接続を使用するもうひとつの利点は、ほとんどの環境で SSH がすでに実行および設定されており、ほとんどの組織で SSH トラフィックを許可するファイアウォール/ネットワーク通信が設定済みである点です。
このような利点により、各ホストで Cockpit Web サーバーを実行する方法ではなく、SSH 経由で Web コンソールに接続する方法のいずれかを使用することが推奨されます。
bastion ホストの使用
bastion ホストを使用する方法では、まず Cockpit Web サーバーを単一の bastion ホストにインストールし、有効化します。この例では、bastion ホストが RHEL 9 を実行しています。
まず、bastion ホストでコマンドを実行し、cockpit パッケージをインストールします (ほとんどの RHEL インストールではデフォルトでインストールされています)。
# dnf install cockpit
cockpit.socket systemd ユニットを起動して有効にし、Cockpit Web サーバーが bastion ホストをリッスンできるようにします。
# systemctl enable --now cockpit.socket
ファイアウォール設定で cockpit サービスが有効になっているかも確認します。
この方法では、Cockpit Web サーバーを実行しているのは単一の bastion ホストで、適切な設定、セキュリティの確保、署名付き TLS 証明書の使用などが必要なことに注意してください。詳細については、Cockpit Web サーバーの実行に関する次の記事を参照してください。
これらの手順が完了したら、Web ブラウザーを使用してポート 9090 の bastion ホストに接続し、ユーザーアカウントとパスワードで認証できます。
ログインすると、ページの右上隅にユーザー名とホスト名が表示されます。また、下矢印をクリックするとメニューが開き、Add new host ボタンが表示されます。

Add new host 画面 で、アクセスするリモートホストのホスト名 (この例では rhel9.example.com ホスト) を指定できます。この例では、bastion ホストとリモートホストの両方で同じユーザー名 (brian) を使用しているため、ユーザー名フィールドを空白のままにできます。さらに、このホストに割り当てる色 (後でホストに接続したときにウィンドウ上部に表示されます) を指定し、Add ボタンをクリックします。

このホストへの SSH 接続を初めて確立すると、リモートホストの SSH キーフィンガープリントの確認を求めるメッセージが表示されます。確認したら、Accept key and connect ボタンをクリックします。

SSH キー認証が設定されていない場合、リモートホストでユーザーのパスワードを入力するよう求められます。必要に応じて、Authorize SSH key ボックスをオンにできます。これをオンにすると、このリモートホストへの SSH キー認証が設定され、以降はパスワードを入力しなくてもログインできるようになります。次に、Log in ボタンをクリックします。

この時点で、接続の設定は完了し、bastion ホストと上記で設定した rhel9.example.com リモートホストの 2 つが左側のメニューに表示されます。rhel9.example.com の Web コンソールにアクセスするには、メニュー上でそれをクリックします。Web コンソールによる SSH キーの設定が必要であると指定したため、これをクリックすると rhel9.example.com ホストに自動的にログインします。
rhel9.example.com ホストに接続する場合は、選択した色 (この場合は黄色) がウィンドウの上部に表示されます。

rhel9.example.com などのリモートホストでは、cockpit.socket を有効化/実行する必要はありません。また、TLS 証明書を設定する必要も、フィアウォールで SSH ポート以外のポートを追加で開放する必要もないことに注意してください。
接続する各リモートホストには、cockpit-system パッケージがインストールされている必要があります。このパッケージがインストールされていないシステムに接続しようとすると、Cockpit がインストールされていないことを示すメッセージが表示されます。
Linux ワークステーションを使用している場合は、ローカルワークステーションを Web コンソールの bastion ホストに設定できます。この設定において、ファイアウォールで cockpit サービスを開かないように選択することで、リモートホストから Cockpit Web サーバーにアクセスできなくなります。
Red Hat Satellite と Web コンソールの統合
お使いの環境で Red Hat Satellite を使用している場合は、Satellite 管理ホスト上で Satellite と Web コンソールの統合を有効化できます。
この統合では、多くの Satellite ユーザーがお使いの環境ですでに設定しているリモート実行フレームワークおよび SSH キーを利用します。
SSH 経由で接続する他の Web コンソールアクセス方法と同様に、リモートホストで cockpit-ws (Cockpit Web server) パッケージをインストールする必要はありません。また、cockpit.socket を有効化/実行する必要も、SSH 以外のファイアウォールポートを開放する必要もありません。cockpit-system パッケージについては、リモートホストへのインストールが必要です。
Satellite Web コンソールの統合を設定する方法について、詳しくは How to access and manage RHEL within Red Hat Satellite を参照してください。
Cockpit Client Flatpak
Linux ワークステーションを使用している場合、SSH 接続を使用してリモートサーバー上の Web コンソールにアクセスするもう 1 つの方法として、Cockpit Client Flatpak を使用する方法があります。
Red Hat は Cockpit Client Flatpak をサポートしていませんのでご注意ください。
Cockpit Client Flatpak をインストールして起動すると、ホスト名を指定するよう求める画面が表示されます。この例では、brian ユーザーアカウントを使用して rhel9.example.com ホストに接続するように指定しています。

初めて接続する場合は、ホスト SSH キーを検証して許可するよう求められます。SSH キー認証を設定している場合は、ホスト上の Web コンソールに自動的にログインします。SSH キー認証を設定していない場合は、接続しようとしているユーザーのパスワードを入力するよう求められます。
SSH 経由で接続する他の Web コンソールアクセス方法と同様に、リモートホストで cockpit-ws (Cockpit Web server) パッケージをインストールする必要はありません。また、cockpit.socket を有効化/実行する必要も、SSH 以外のファイアウォールポートを追加で開放する必要もありません。cockpit-system パッケージについては、リモートホストへのインストールが必要です。
詳細情報
Web コンソールは、RHEL 環境を効果的に管理できる優れた方法ですが、セキュリティ要件やニーズを満たす方法で Web コンソールを実装する必要があります。この記事では、Web コンソールを使用して SSH にアクセスする方法について説明しました。次の記事では、Cockpit Web サーバーを使用して Web コンソールにアクセスする方法について説明します。
RHEL Web コンソールの使用に慣れておらず、実際に使用して詳細を確認したい場合は、Red Hat Enterprise Linux Self-Paced Labs を参照してください。Web コンソール関連のラボに加え、多くの実践的なラボを使用できます。
About the author
Brian Smith is a Product Manager at Red Hat focused on RHEL automation and management. He has been at Red Hat since 2018, previously working with Public Sector customers as a Technical Account Manager (TAM).