第5章 ゲストのリモート管理
5.1. SSH を使用したリモート管理
- 仮想マシンを管理するには、リモートマシンへの root ログインアクセスが必要です。
- 初期接続の設定プロセスが遅くなる可能性があります。
- すべてのホストまたはゲストでユーザーのキーを取り消す標準または簡単な方法はありません。
- SSH は、リモートマシンの数が多いと適切にスケーリングされません。
- openssh
- openssh-askpass
- openssh-clients
- openssh-server
virt-manager 用にパスワードを使用しないまたはパスワードを使用したSSH アクセスの設定
以下の手順は、ゼロから開始しており、SSH キーが設定されていないことを前提としています。SSH 鍵を設定して別のシステムにコピーしている場合は、この手順をスキップできます。
オプション: ユーザーの変更
必要に応じてユーザーを変更します。この例では、ローカルの root ユーザーを使用して、その他のホストとローカルホストをリモートで管理します。$ su -
SSH 鍵ペアの生成
virt-manager が使用されているマシンで公開鍵ペアを生成します。この例では、~/.ssh/
ディレクトリーのデフォルトの鍵の場所を使用します。# ssh-keygen -t rsa
リモートホストへの鍵のコピー
パスワードなしのリモートログイン、またはパスフレーズを使用したリモートログインでは、管理対象システムに 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 root@host2.example.com コマンドを使用してマシンにログインし、.ssh/authorized_keys
ファイルをチェックインして予期しないキーが追加されていないことを確認します。必要に応じて、その他のシステムに対して繰り返します。オプション: パスフレーズを ssh-agent に追加します。
以下の手順では、既存の ssh-agent にパスフレーズを追加する方法について説明します。ssh-agent が実行されていない場合、実行に失敗します。エラーや競合を回避するには、SSH パラメーターが正しく設定されていることを確認してください。詳細は、『Red Hat Enterprise Linux 導入ガイド』 を参照してください。必要に応じて、SSH キーのパスフレーズを ssh-agent に追加します。ローカルホストで次のコマンドを使用して、パスフレーズ (存在する場合) を追加し、パスワードなしのログインを有効にします。# ssh-add ~/.ssh/id_rsa
SSH キーがリモートシステムに追加されます。
libvirt デーモン (libvirtd
)
libvirt
デーモンは、仮想マシンを管理するインターフェイスを提供します。管理が必要なすべてのリモートホストに libvirtd
デーモンをインストールして実行する必要があります。
$ ssh root@somehost # chkconfig libvirtd on # service libvirtd start
libvirtd
と SSH を設定すると、仮想マシンにリモートでアクセスして管理できるようになります。この時点で、VNC でゲストにアクセスできるようになるはずです。
virt-manager を使用したリモートホストへのアクセス
リモートホストは、virt-manager GUI ツールで管理できます。SSH キーは、パスワードを使用しないログインを機能させるために、virt-manager を実行しているユーザーに属している必要があります。
- virt-manager を起動します。
図5.1 Add Connection メニュー
- ドロップダウンメニューを使用してハイパーバイザータイプを選択し、チェックボックスをクリックして Connection (この場合は Remote tunnel over SSH) を開き、必要な と を入力して をクリックします。