无法在 Ubuntu 18.04 上通过 SSH 执行 Virsh 命令

Sha*_*yne 3 virtualization 18.04 kvm-virtualization

我使用 Ubuntu 18.04 作为 KVM 主机。在跳转主机上,我尝试执行 virsh 命令:

ssh user@ip "virsh dominfo vm1"

我收到错误:无法获取域 'vm1' 但此命令在 KVM 主机上运行良好。我发现如果KVM主机是Ubuntu 16.04就不会出现这个问题。

Chr*_*rdt 6

要连接的 virsh 的默认 URI 可以更改(并且上游确实发生了更改)。

您可以通过以下方式检查:

$ ssh ubuntu@ip -t 'bash -l -c "virsh uri"'
qemu:///system
$ ssh ubuntu@ip "virsh uri"
qemu:///session
Run Code Online (Sandbox Code Playgroud)

Ubuntu 尝试提供环境变量帮助LIBVIRT_DEFAULT_URI=qemu:///system,但这仅在登录 shell 中可用。

因此,您需要确保使用完整的登录 shell,例如:

  $ ssh ubuntu@ip -t 'bash -l -c "virsh dominfo vm1"'
Run Code Online (Sandbox Code Playgroud)

或者自行使用环境变量来增强您的调用:

  $ ssh ubuntu@ip "LIBVIRT_DEFAULT_URI=qemu:///system virsh dominfo vm1"
Run Code Online (Sandbox Code Playgroud)