SSH経由でvirshを実行してもKVMドメインが表示されないのはなぜですか?

SSH経由でvirshを実行してもKVMドメインが表示されないのはなぜですか?

KVMドメインを実行している複数のノードのスキャンを自動化しようとしています。完全なログインを実行する代わりに、sshを使用してコマンドを直接実行しました。

ssh user@kvmhost "virsh list --all"

ただし、次の出力が生成されます。

 Id   Name   State
--------------------

インタラクティブにログインすると、virsh list --allドメインを実行して表示できます。それでは、私が何を間違っているのでしょうか?

答え1

LIBVIRT_DEFAULT_URIという環境変数があり、対話的にログインするときは設定されますが、sshを介して直接コマンドを実行するときは設定されない可能性があります。この変数は通常、次のように設定できます。

LIBVIRT_DEFAULT_URI=qemu:///system

したがって、sshにvirshコマンドを追加し、その環境変数を次のように設定するだけです。

ssh user@kvmhost "LIBVIRT_DEFAULT_URI=qemu:///system virsh list --all"

関連情報