virt-manager и все что с ним связано

Есть виртуальный сервер company
virsh # list
ID Имя Статус
----------------------------------------------------
1 company работает

Удаленно с другой машины хочу подключится к нему

Соединение с libvirt не удалось.

Cannot recv data: ssh_exchange_identification: read: Connection reset by peer: Соединение разорвано другой стороной

Убедитесь, что служба libvirtd запущена
на удалённом узле.

Libvirt URI is: qemu+ssh://root@*.*.*.*/system

Traceback (most recent call last):
File "/usr/share/virt-manager/virtManager/connection.py", line 968, in _open_thread
self._backend.open(self._do_creds_password)
File "/usr/share/virt-manager/virtinst/connection.py", line 158, in open
open_flags)
File "/usr/lib/python2.7/site-packages/libvirt.py", line 105, in openAuth
if ret is None:raise libvirtError('virConnectOpenAuth() failed')
libvirtError: Cannot recv data: ssh_exchange_identification: read: Connection reset by peer: Соединение разорвано другой стороной

Хотя на сервере
ps aux | grep libvirtd
root 4541 0.1 0.0 852132 14228 ? Sl 2014 172:31 /usr/sbin/libvirtd -d
root 21966 0.0 0.0 10224 1952 pts/4 S+ 20:25 0:00 grep --colour=auto libvirtd

Что не так ?!

Соединение разорвано другой

Соединение разорвано другой стороной

Ну и как всегда, телепаты в отпуске .....

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

Доступ через ссх

Доступ через ссх осуществляется пробросом по ссх запросов на локальный юникс-сокет. Их у либвирта два типа (полный и только чтение).
1) Проверяем доступность по ссх до хоста гипервизора
ssh hyperv
2) Там же поднимаем себя до рута и смотрим настройки юникс сокета
grep sock /etc/libvirt/libvirtd.conf
unix_sock_group = "wheel"
unix_sock_ro_perms = "0777"
unix_sock_rw_perms = "0770"
unix_sock_dir = "/var/run/libvirt

Согласно ЭТИМ настройкам сокет полного доступа создается с правами 0770, владелец будет root а группа будет wheel.
Для сокета "только чтение" можно разрешить доступ и другим (0777), но он в вашем случае роли не играет.

3) Там же можно проверить как именно создаются сокеты

ls -lh /var/run/libvirt

.....
srwxrwx--- 1 root wheel 0 дек 29 11:27 libvirt-sock
srwxrwxrwx 1 root wheel 0 дек 29 11:27 libvirt-sock-ro
....

4)Там же проверяем, состав группы, под которой создается сокет (в данном случае wheel)

grep wheel /etc/group
wheel::10:root,vvi,ksv,sko,kea

Эти юзеры будут иметь доступ к сокету при подключении по ссх. Если себя в списке нет - добавляем.

4) Там же запускаем tail -f /var/log/messages чтоб логи посмотреть, запускаем у себя еще один эмулятор консоли и цепляемся к либвирту

virsh -c qemu+ssh://vvi@hyperv/system

Если ssh ключи не настроены будет запрос пароля. В логах весело отразится наше подключение по ссх.

5) Тяжелый случай в случае ежели лог не дает ошибок подключения по ссх, а либвирт не пускает
Отключаем тайл, включаем логгирование в /etc/libvirt/libvirtd.conf включаем тайл, коннектимся и читаем, коннектимся и читаем......

Как то так.

Ну и маааленькая хитрость для виртменеджера. Он не умеет спрашивать пароль ссх при подключениях без ssh ключа.
Дабы ему помочь, надо установить net-misc/x11-ssh-askpass.

1) доступно2) все unix_sock

1) доступно
2) все unix_sock заремарены
3)

srwxr--r-- 1 root root 0 дек 3 13:06 libvirt-sock
srwxr--r-- 1 root root 0 дек 3 13:06 libvirt-sock-ro
drwxr--r-- 2 root root 160 фев 17 11:27 qemu

4) я есть в группе wheel
5) при коннекте сейчас

virsh -c qemu+ssh://192.168.0.1/system

Password:
Добро пожаловать в virsh — интерактивный терминал виртуализации.

Введите «help» для получения справки по командам
«quit» для выхода

virsh # list
ID Имя Статус
----------------------------------------------------
1 company работает

6) Хммм, а вот на клиенте...

* net-misc/x11-ssh-askpass
Latest version available: 1.2.4.1-r1
Latest version installed: [ Not Installed ]
Size of files: 29 KiB
Homepage: http://www.liquidmeme.net/software/x11-ssh-askpass/
Description: X11-based passphrase dialog for use with OpenSSH
License: HPND

Вообщем мои действия: 1.

Вообщем мои действия:
1. поставил я net-misc/x11-ssh-askpass
2. virt-manager --debug
ввожу пароль, виртуальную машину я вижу, как только нажимаю открыть:

[Ср, 25 фев 2015 07:11:32 virt-manager 15091] DEBUG (console:1499) Starting connect process for proto=vnc trans=ssh connhost=192.168.0.1 connuser=root connport=None gaddr=192.168.0.1 gport=5901 gtlsport=None gsocket=None
[Ср, 25 фев 2015 07:11:32 virt-manager 15091] DEBUG (console:535) VNC connection to 192.168.0.1:5901
[Ср, 25 фев 2015 07:11:32 virt-manager 15091] DEBUG (console:503) Got credential request
[Ср, 25 фев 2015 07:11:32 virt-manager 15091] DEBUG (console:1378) Viewer disconnected

Соединение просмотрщика с хостом гипервизора отклонено или сброшено!

покажи дефайн vnc из xml

покажи дефайн vnc из xml машины ( по дефолту оно listen 127.0.0.1 )

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

dumpxml --security-info

dumpxml --security-info

type='vnc' port='5901' autoport='yes' listen='192.168.0.1'>
      

Сделай так:

Сделай так:


graphics type='vnc' port='-1' autoport='yes' listen='0.0.0.0' passwd='xxxxxxxxxxxxxxxxxxxxxxx'
listen type='address' address='0.0.0.0'
graphics

П.С друпал пытается прасить xml, так что без ">"

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".