リモートSSHキー認証のためにCockpitでSSHキーを管理する方法 - TechRepublic

リモートSSHキー認証のためにCockpitでSSHキーを管理する方法 - TechRepublic
SSHレイボリュームライトコンセプト3Dイラスト
画像: profit_image/Adobe Stock

Cockpit は、Linux サーバーを管理するための優れた Web ベースの GUI です。ほとんどの RHEL ベースサーバーには Cockpit がインストールされており、サービス、ストレージ、ネットワーク、コンテナ、アップデート、ユーザーアカウント、ログ、SELinux などの管理を簡単に行うことができます。

Cockpit のもう一つのあまり知られていない機能は、リモートSSHキー認証用のSSHキーを管理する機能です。例えば、AlmaLinuxサーバーでCockpitにログインし、ターミナル機能を備えた別のサーバーにSSHでログインしたいとします。どうすればよいでしょうか?

より安全なSSHキー認証を使用する場合は、リモートサーバーにCockpitサーバーの公開鍵が追加されていることを確認してください。これはコマンドラインから実行することもできますが、特に複数のSSHキーを使用する場合は、Cockpitに組み込まれたより簡単な方法があります。

これがどのように機能するかをお見せしましょう。

参照: 知っておくべきオープンソースと Linux の用語 40 選 (TechRepublic Premium)

必要なもの

これを実現するには、Cockpitが稼働しているサーバーが1台と、SSHログインを受け入れるサーバーが少なくとも1台必要です。ここでは、非標準ディレクトリからSSHキーを追加する方法と、用途に応じて複数のキーを追加する方法を説明します。また、Cockpitホスト上でsudo権限を持つユーザーも必要です。

コックピットサービスを有効にする方法

万が一、まだCockpitを有効化していない場合は、以下の手順で有効化できます。Cockpitをホストしているサーバーにログインし、以下のコマンドを実行してください。

sudo systemctl enable --now cockpit.socket

https://SERVER:9090Cockpit を有効にすると、ブラウザで(SERVER はホスティング サーバー)を指定し、sudo 権限を持つユーザーとしてログインすることで、Web ベースのインターフェイスにログインできるようになります。

SSHキーを追加する方法

Cockpit ではできないことの一つに、サーバーの SSH キーの生成があります。まだ生成していない場合は、ここで生成しましょう。デフォルトの ~/.ssh ディレクトリから SSH キーを追加するだけでなく、SSH キーを作成して標準以外のディレクトリに保存することで、キーの管理を容易にする方法を説明します。

SSH経由でCockpitホストにログインします。以下のコマンドで新しいディレクトリを作成します。

sudo mkdir /data

次に、次のコマンドを実行して、そのディレクトリの所有権を自分のユーザーに変更します。

sudo chown -R $USER.$USER /data

data好きな名前を付けることができます。私はデフォルトでそれを選択しました。

次のコマンドで新しい SSH キーを生成します。

ssh-keygen

新しい鍵にコメントを追加して、どの鍵なのかを識別できるようにすることもできます。例えば、Ubuntuサーバーで使用するSSH鍵を生成したいとします。そのためには、次のコマンドを実行します。

ssh-keygen -C "Ubuntu Servers"

キーを保存するファイルを入力するように求められたら、入力し/data/key1_rsa(キーの名前は必要に応じて変更できます)、キーボードの Enter キーを押します。

次に、キーのパスフレーズを入力して検証する必要があります。パスフレーズの入力と検証が完了すると、/dataフォルダに一致するキーペア(key1_rsaとkey1_rsa.pub)が作成されます。必要な数だけキーを作成してください。

Cockpit で SSH キーを管理する方法

鍵が作成されたら、Cockpitで管理してみましょう。SSH鍵認証を行うには、これらの鍵をリモートサーバーにコピーする必要があることに注意してください。Cockpitにはこのプロセスを自動化する組み込みのメカニズムはありませんが、必要な鍵を追加して使用するための、よく設計されたGUIが提供されています。

管理者ユーザーとしてCockpitにログインし、右上隅の「セッション」ドロップダウンをクリックします。ドロップダウンから「SSHキー」をクリックします(図A)。

図A

画像: Jack Wallen/TechRepublic。Cockpitのセッションドロップダウン。

表示されるウィンドウ (図 B ) で、[キーの追加] をクリックします。

図B

画像: Jack Wallen/TechRepublic。Cockpit SSHキーマネージャーは非常に基本的な機能ですが、効果的です。

場所のドロップダウンをクリックし、リストから /data を選択します (図 C )。

図C

画像: Jack Wallen/TechRepublic。新しいSSHキーを保存するディレクトリを選択。

場所のドロップダウンをもう一度クリックすると、そのディレクトリに格納されているキーが表示されます (図 D )。

図D

画像: Jack Wallen/TechRepublic。キーを追加する準備が整いました。

作成したキーを選択し、「追加」をクリックします。キーのパスフレーズの入力を求められます(図E)。

図E

画像: Jack Wallen/TechRepublic。キーのパスフレーズを入力すると、Cockpitキーマネージャーに追加されます。

キーのパスフレーズを入力し、「ロック解除」をクリックすると、キーが追加されます。

Cockpit で SSH キーを使用する方法

次に、Cockpitで新しく追加したSSHキーをコピーし、リモートサーバーに追加します。CockpitのSSHキーマネージャーで、使用したいキーのエントリを展開し、「公開キー」タブをクリックします。そのタブ(図F)で、クリップボードアイコンをクリックしてキーをコピーします。

図F

画像: Jack Wallen/TechRepublic。Cockpit内でSSHキー認証用の公開鍵をコピーする。

左側のサイドバーにある「ターミナル」をクリックし、鍵をコピーしたいサーバーにSSHでログインします。ログインしたら、以下のコマンドを実行します。

nano .ssh/authorized_keys

ファイルを開いた状態で、コピーしたキーを貼り付け、ファイルを保存して閉じます。SSHセッションを終了し、再度ログインしてください。

SSHキーが準備されていれば、リモートマシンのパスワードを尋ねられることはありません。SSHキーを非標準のディレクトリに保存したため、SSHコマンドは次のようになります。

ssh -i /data/key1_rsa 192.168.1.30

Cockpit で SSH キーを管理する方法はこれだけです。必要な数のキーをシステムに追加でき、それぞれを異なる用途に使用できます。Cockpit を使えば、キーへのアクセスと使用に問題が発生することはありません。

TechRepublic Academyのこれらのコースを受講して、初心者から IT プロのように Linux を扱えるレベルまで進みましょう。

  • Linux エッセンシャル バンドル
  • 完全なLinux学習バンドル
  • 2022年 Linux 認定トレーニング バンドル

Jack Wallen によるビジネス プロフェッショナル向けの最新のテクノロジー アドバイスをすべて知るには、YouTube で TechRepublic の How To Make Tech Work を購読してください。

Tagged: