qemu+ssh://desthost/system mean run command (
migrate in your case) using qemu driver on system libvirt daemon which is running on remote host
desthost. For connection, use SSH with my current settings.
qemu+ssh://desthost/system you are mentioning is in fact called Remote URI, which is variation of Connection URI which is libvirt using for connecting to remote hosts.
Its general form is described in Remote URI documentation as
What does the keyword
It means that you want to execute command
- connecting through ordinary SSH connection
- connect to libvirt's
system mode daemon
After SSH, does it execute some command at destHost? (If it needs to execute command, how does it do with qemu+tls?)
First of all you are using virsh to execute command
migrate on remote host's libvirt daemon. That daemon will handle your command.
Think of SSH usage in this case only as a tunnel.
I suppose it means SSH to desthost for authentication purpose? What user does it use? After SSH, does it execute some command at destHost? (If it needs to execute command, how does it do with qemu+tls?)
ssh is only transport for actual communication. Its useful especially if you have working SSH connection to remote host (
desthost) as you avoid need to setup TLS certificates on your machine (client) and
It uses same user as actual
ssh would use - usually current user. But you take advantage of all SSH possibilities and set different user i.e. in
Also, does the
system keyword has any special meaning too?
Yes, it means that system mode of libvirt daemon will be used. With some simplification, it means it will connect to system libvirt daemon which is running under root user and usually launched at system startup. You can read more about difference between
session in libvirt's FAQ