Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

18.2. SSH でのリモート管理

ssh パッケージは、リモート仮想化サーバーに管理機能をセキュアに送信できる、暗号化されたネットワークプロトコルを提供します。以下に示す手法では、SSH 接続でセキュアにトンネルされ、リモートマシンを管理します。すべての認証は、SSH 公開鍵の暗号化とパスワード、またはローカルの SSH エージェントにより収集されるパスフレーズを使用して行われます。また、各ゲストの VNC コンソールは SSH 経由でトンネル化されます。
仮想マシンのリモートで管理するために SSH を使用する場合は、以下の問題に注意してください。
  • 仮想マシンを管理するには、root ログインが必要になります。
  • 初期接続のセットアップには時間がかかる場合があります。
  • すべてのホストまたはゲストでユーザーのキーを取り消す標準または簡単な方法はありません。
  • SSH は、リモートマシンの数が多いと適切にスケーリングされません。
注記
Red Hat Virtualization は、多数の仮想マシンのリモート管理を有効にします。詳細は、Red Hat Virtualization のドキュメントを参照してください
SSH アクセスには、以下のパッケージが必要です。
  • openssh
  • openssh-askpass
  • openssh-clients
  • openssh-server

virt-managerのパスワードなしの SSH アクセスまたはパスワード管理 SSH アクセスの設定

以下の手順は、ゼロから開始し、SSH キーが設定されていないことを仮定します。SSH キーを設定して他のシステムにコピーした場合は、この手順を省略できます。

重要
SSH キーはユーザーに依存しており、所有者のみが使用できます。キーの所有者は、これを生成したユーザーです。鍵は、異なるユーザー間で共有することはできません。
virt-manager は、リモートホストに接続するために鍵を所有するユーザーが実行する必要があります。つまり、リモートシステムが root 以外のユーザーで管理されている場合は、virt-manager を非特権モードで実行する必要があります。リモートシステムがローカルの root ユーザーが管理されている場合は、SSH 鍵を所有し、root により作成される必要があります。
ローカルホストは、virt-manager で権限のないユーザーとして管理することはできません。
  1. オプション: ユーザーの変更

    必要に応じてユーザーを変更します。この例では、他のホストとローカルホストをリモートで管理するためにローカルの root ユーザーを使用します。
    $ su -
  2. SSH キーペアの生成

    virt-manager を使用するマシンで、公開鍵のペアを生成します。この例では、~/.ssh/ ディレクトリーにあるデフォルトの鍵の場所を使用します。
    # ssh-keygen -t rsa
  3. リモートホストへの鍵のコピー

    パスワードなしのリモートログイン、またはパスフレーズを使用する場合は、SSH キーを管理しているシステムに配布する必要があります。ssh-copy-id コマンドを使用して、提供されたシステムアドレス(この例では root@host2.example.com)の鍵を root ユーザーにコピーします。
    # ssh-copy-id -i ~/.ssh/id_rsa.pub root@host2.example.com
    root@host2.example.com's password:
    
    その後、マシンにログインして.ssh/authorized_keys ファイルをチェックして、予期しないキーが追加されていないことを確認します。
    ssh root@host2.example.com
    必要に応じて、他のシステムに繰り返します。
  4. 必要に応じて、ssh-agent にパスフレーズを追加します。

    必要に応じて、SSH キーのパススルー句を ssh-agent に追加します。ローカルホストで以下のコマンドを使用して、パスワードなしのログインを有効にするパスフレーズを追加します(存在する場合)。
    # ssh-add ~/.ssh/id_rsa
    ssh-agent が実行中でない場合は、このコマンドを実行できません。エラーや競合を回避するには、SSH パラメーターが正しく設定されていることを確認してください。詳細は『 Red Hat Enterprise System Administration Guide』 を参照してください。

libvirt デーモン (libvirt)

libvirt デーモンは、仮想マシンを管理するためのインターフェースを提供します。この方法で管理するすべてのリモートホストで、libvirtd デーモンがインストールされ、実行している必要があります。

$ ssh root@somehost
# systemctl enable libvirtd.service
# systemctl start libvirtd.service
libvirtd および SSH の設定後に、仮想マシンをリモートからアクセスし、管理できるはずです。この時点で VNC を使用してゲストにアクセスできる必要もあります。

virt-manager を使用したリモートホストへのアクセス

リモートホストは、virt-manager GUI ツールで管理できます。SSH キーは、パスワードなしにログインできるように virt-manager を実行するユーザーに属している必要があります。

  1. virt-manager を起動します。
  2. FileAdd Connection メニューを開きます。

    図18.1 接続メニューの追加

    接続メニューの追加
  3. ドロップダウンメニューを使用してハイパーバイザータイプを選択し、Connect to remote host チェックボックスをクリックして Connection Method (SSH の Remote トンネル) を開き、ユーザー名とホスト名を入力し 、Connect をクリックします。

このページには機械翻訳が使用されている場合があります (詳細はこちら)。