У меня есть сервер, работающий libvirtd
с доменами QEMU/KVM. Я хотел бы получить к нему доступ с virt-manager
удаленной машины, для чего я открываю туннель SSH и перенаправляю порт TCP ( libvirtd
прослушивает локальный порт TCP). Затем virt-manager может подключиться к локальному сокету с помощью virt-manager -c qemu+tcp://host:port/system
.
К сожалению, virt-manager
не использует собственное соединение для туннелирования через сеансы Spice/VNC, а пытается открыть новые соединения независимо, к сокету, открытому QEMU для каждого гостя; это связано, localhost
так что нет никакой удачи. Я могу получить номер порта с помощью virsh domdisplay
, туннелировать его также через SSH и использовать средство просмотра непосредственно в remote-viewer spice://host:port
синтаксисе, чтобы открыть сеанс вручную.
Он подключается, а затем происходит сбой:
(remote-viewer:16039): GSpice-WARNING **: 02:25:56.856: incomplete link header (-104/16)
Что может означать эта ошибка? Что я делаю не так?
Как правильно подключиться к удаленному сеансу QEMU Spice через туннель SSH?
Пока я искал ошибку в Google, я нашел намеки на то, что это может быть связано с портами TLS на соединении, что бы это ни значило. Пытаясь смягчить это, я добавил defaultMode="insecure"
элемент <graphics/>
конфигурации домена, но это ничего не изменило. Пример XML домена QEMU:
<graphics type="spice" port="5995" autoport="no" listen="127.0.0.1" defaultMode="insecure">
<listen type="address" />
</graphics>
ОБНОВЛЕНИЕ: Я пробовал несколько других вещей: запускал x11spice
на хосте и пытался подключиться к нему; также пробовал подключаться из версии Windows remote-viewer
. Результат: версия Linux имела ту же ошибку «неполный заголовок ссылки», что и при подключении к гостевой виртуальной машине; версия Windows имела похожую ошибку, но числа в скобках другие.
Что заставляет меня задуматься. Может ли SPICE подключаться, когда клиент и сервер имеют разные сборки? Может, есть какие-то известные проблемы с этим?