https://pve.proxmox.com/wiki/VNC_Client_Access

Все что написано тут может не работать с текущей версией Proxmox 5.x

Для того чтобы можно было подключаться к консолям виртуалок не только из web-интерфейса надо сделать вот что:

1. Установить хосте proxmox openbsd-inetd:

aptitude install openbsd-inetd

2. Получаем список машин:

qm list

root@homenet-home10 /etc # qm list
     VMID NAME                 STATUS     MEM(MB)    BOOTDISK(GB) PID       
      101 freenas              stopped    1024              32.00 0         
      102 debpbx               running    512                0.00 573304    
      105 winxp                stopped    512               15.01 0         
     7012 ltsp-ldap-openfire-KVM running    512                9.00 495870    
     7016 fbc16-kvm            running    512                8.00 462697    
     7159 win7                 stopped    2048               0.00 0         
    27014 ltsp-term-KVM        stopped    512                0.00 0      

3. Редактируем /etc/inetd.conf и добавляем туда порты для каждой машины, которую мы хотим видеть не только из web-интерфейса:

port                                                 kvm
59055 stream tcp nowait root /usr/sbin/qm qm vncproxy 105
59058 stream tcp nowait root /usr/sbin/qm qm vncproxy 7159

4. Перезапускаем openbsd-inetd

/etc/init.d/openbsd-inetd restart

5. Проверяем что получилось:

telnet home10 59058   # home10 - это имя сервера proxmox

Trying 192.168.1.10...
Connected to home10.fantinibakery.com.
Escape character is '^]'.
RFB 003.008

Для того чтобы выйти нажимаем Ctrl+] и затем вводим exit.

6. На момент написания заметки нормально работал только один клиент - это tigervnc. (Клиент должен поддерживать TLS vencrypt)
Для подключения надо указывать имя клиента в формате: root@pam.

Подключение к консолям VNC со старыми клиентами не поддерживающими TLS vencrypt, а поддерживающими только и plain auth (VNC 2.0)

Без пароля консоль не рекомендуется! Но если надо, то вот:

1. Создайте машину и запоните её KVM ID (номер - 100, 101 и т.д)
2. В консоли сервера отредактируйте файл:

 nano /etc/pve/local/qemu-server/(KVM ID).conf

4. В самом конце дописать следующее:

args: -vnc 0.0.0.0:100

Эта строка заставляет KVM создать VNC-консоль на адресе 0.0.0.0 и порту 5900 + номер порта. В данном случае - на порту 5900+100 = 6000.

Теперь запускаем наш любимый клиент и подключаемся к порту 6000

Для того чтобы задать пароль - ставим его через запятую после адреса:

args: -vnc 0.0.0.0:100,password 

7. Для контейнеров openvz надо использовать vncterm.

vncterm [VNCOPTS] [-c command [ARGS]]

#example:
vncterm -c vzctl enter VMID

vncterm -rfbport 5900 -passwdfile FILE -timeout 20 -c vzctl enter 104