Product SiteDocumentation Site

Глава 13. Удаленное управление виртуализированными гостевыми системами

13.1. Удаленное управление с помощью SSH
13.2. Удаленное управление с помощью TLS и SSL
13.3. Режимы передачи данных
В этой главе рассматривается удаленное управление виртуализированными гостевыми системами с помощью ssh, TLS и SSL.

13.1. Удаленное управление с помощью SSH

Пакет ssh предоставляет зашифрованный сетевой протокол, который позволяет безопасно передавать управляющие функции удаленным серверам виртуализации. Ниже рассматривается управление удаленными машинами утилитой libvirt по SSH-туннелю.Аутентификация осуществляется за счет использования общих ключей SSH и паролей или проверочных фраз, получаемых локальным агентом SSH. Доступная гостевым виртуальным системам консоль VNC также защищена SSH.
Обычно используется стандартная конфигурация SSH, поэтому нет необходимости в создании дополнительных правил межсетевого экрана для обеспечения доступа к управляющей службе или консоли VNC.
Be aware of the issues with using SSH for remotely managing your virtual machines, including:
  • потребуются права root для доступа к удаленной машине для управления ее виртуальными машинами;
  • изначальный процесс настройки соединения может быть замедлен;
  • не существует стандарта или однозначного способа получения ключа пользователя на всех узлах и в гостях;
  • при значительном увеличении числа удаленных машин могут возникнуть сложности с использованием SSH.
Настройка доступа SSH для virt-manager
Приведенные далее инструкции подразумевают, что вы начинаете работу с нуля, то есть ключи SSH еще не настроены.
  1. Потребуется пара общих ключей в системе, где будет выполняться virt-manager. Если ssh уже настроен, этот шаг можно пропустить.
    $ ssh-keygen -t rsa
    
    
  2. Чтобы разрешить удаленную авторизацию, необходимо скопировать общий ключ на все удаленные машины, где выполняется libvirt. Скопируйте файл $HOME/.ssh/id_rsa.pub из системы, которая будет использоваться для удаленного управления:
    $ scp $HOME/.ssh/id_rsa.pub root@somehost:/root/key-dan.pub
    
    
  3. После этого подключитесь к удаленной машине по ssh и в режиме root добавьте полученный файл в список авторизованных ключей. Если этот список не существует, проверьте разрешения файла.
    $ ssh root@somehost
    # mkdir /root/.ssh
    # chmod go-rwx /root/.ssh
    # cat /root/key-dan.pub >> /root/.ssh/authorized_keys
    # chmod go-rw /root/.ssh/authorized_keys
    
    
Демон libvirt (libvirtd)
libvirtd предоставляет интерфейс для управления виртуальными машинами. Он должен работать на каждом удаленном узле, которым вы планируете управлять. Дополнительно, пакет kernel-xen предъявляет отдельные требования к процессору и ядру.
$ ssh root@somehost
# chkconfig libvirtd on
# service libvirtd start

После завершения настройки libvirtd и SSH вы сможете обращаться к удаленным виртуальным машинам, управлять ими и обращаться к гостевым системам через VNC.