第19章 ゲストのリモート管理
19.1. トランスポートモード
libvirt では次のようなトランスポートモードに対応しています。
Transport Layer Security TLS 1.0 (SSL 3.1) で認証され、暗号化される TCP/IP ソケットは、通常パブリックポート番号でリッスンします。これを使用するには、クライアントとサーバーの証明書を生成する必要があります。標準のポートは 16514 です。詳細は、「TLS と SSL 経由のリモート管理」を参照してください。
Secure Shell protocol (SSH) 接続上のトランスポートです。libvirt デーモン (libvirtd) がリモートマシン上で実行されている必要があります。ポート 22 が SSH アクセス用に開いていなければなりません。いずれかの SSH キー管理 (ssh-agent ユーティリティーなど) を使用しないとパスワードの入力が求められます。詳細については、「SSH によるリモート管理」を参照してください。
UNIX ドメインソケットはローカルマシン上でのみアクセス可能です。ソケットは暗号化されておらず、認証のために SELinux または UNIX 権限を使用します。標準のソケット名は /var/run/libvirt/libvirt-sock と /var/run/libvirt/libvirt-sock-ro (読み取り専用の接続) です。
ext パラメーターは、libvirt の範囲外の手段によりリモートマシンに接続できる外部プログラムに使用されます。このパラメーターはサポートされていません。
暗号化されていない TCP/IP ソケットです。実稼働での使用には推奨されません。通常は無効になっていますが、管理者はテストを行う場合や信頼できるネットワークでこれを有効にできます。デフォルトのポートは 16509 です。
URI (Uniform Resource Identifier) は、リモートホストに接続するために virsh と libvirt によって使用されます。また URI は virsh コマンドの --connect パラメーターと一緒に使用すると、リモートホストで単一コマンドや移行を実行することができます。リモート URI は一般的なローカル URI を取り、ホスト名またはトランスポート名、またはそれら両方を追加して形成されます。特殊なケースとして、「リモート」の URI スキームを使用すると、リモート libvirtd サーバーは最適なハイパーバイザードライバーを探索するように指示されます。これはローカル接続用に NULL URI を渡すのと同等です。
driver[+transport]://[username@][hostname][:port]/path[?extraparameters]
- qemu://hostname/
リモート管理の例
host2という名前のリモート KVM ホストに接続します。SSH トランスポートを使用し、SSH ユーザー名はvirtuserです。それぞれの connect コマンドはconnect [URI] [--readonly]です。virsh connectコマンドの詳細は、「virsh Connect を使用したハイパーバイザーへの接続」を参照してください。qemu+ssh://virtuser@host2/- TLS を使用して、
host2という名前のホスト上のリモート KVM ハイパーバイザーに接続します。qemu://host2/
テスト用サンプル
- ローカルの KVM ハイパーバイザーに非標準の UNIX ソケットで接続します。この例では、UNIX ソケットへの完全パスが明示的に指定されています。
qemu+unix:///system?socket=/opt/libvirt/run/libvirt/libvirt-sock - 暗号化していない TCP/IP 接続で libvirt デーモンに接続します。IP アドレスが 10.1.1.10 でポートが 5000 のサーバーへの接続です。この例ではデフォルト設定の test ドライバーが使用されています。
test+tcp://10.1.1.10:5000/default
追加パラメーターをリモート URI に追加することができます。以下の表に認識されているパラメーターを示します。これ以外のパラメーターはすべて無視されます。パラメーターの値は URI エスケープされる必要があることに注意してください (つまり、疑問符 (?) をパラメーターの前に付けると、特殊文字が URI 形式に変換されます)。
表19.1 追加の URI パラメーター
| 名前 | トランスポートモード | 説明 | 使用法の例 |
|---|---|---|---|
| name | すべてのモード | name はリモート virConnectOpen 関数に渡されます。通常 name はリモート URI から transport、hostname、port number、username、および追加パラメーターを取り除いたものになります。ただし、一部の複雑なケースでは、name を明示的に指定するのが適切な場合もあります。 | name=qemu:///system |
| command | ssh と ext | 外部コマンドです。外部トランスポートの場合に必須になります。ssh の場合、デフォルトは ssh です。command の PATH が検索されます。 | command=/opt/openssh/bin/ssh |
| socket | unix と ssh | UNIX ドメインソケットへのパスで、デフォルトを上書きします。ssh トランスポートの場合、これがリモート netcat コマンドに渡されます (netcat を参照)。 | socket=/opt/libvirt/run/libvirt/libvirt-sock |
| no_verify | tls | ゼロ以外の値が設定されていると、クライアント側のサーバー証明書チェックが無効になります。サーバー側のクライアント証明書チェックまたは IP アドレスチェックを無効にする場合は、libvirtd の設定を変更する必要があります。 | no_verify=1 |
| no_tty | ssh | ゼロ以外の値に設定すると、リモートマシンに自動的にログインできない場合に SSH がパスワードの入力を求めないようにします。ターミナルにアクセスできない場合にこれを使用します。 | no_tty=1 |

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.