(Я не ищу ответы, такие как «Прекратить использование VNC, поскольку это небезопасно», и при этом мне не нужны ответы, рекомендующие различные реализации VNC, поскольку я специально хочу, чтобы TigerVNC функционировал должным образом).
Мне нужно отображать и управлять рабочим столом Ubuntu 18.10 с ноутбука Ubuntu 18.10, используя TigerVNC. Обе машины были недавно обновлены до 18.10.
Я включил общий доступ к рабочему столу на рабочем столе с помощью инструкций в https://askubuntu.com/a/1088328 со следующим исключением: Когда у меня нет, выполнил следующее команда:
gsettings set org.gnome.Vino require-encryption false
не работает (см. ниже). Но когда я выполняю , использую эту команду gsettings
на рабочем столе, то я получаю подсказку для пароля vnc, и после его ввода я могу управлять рабочим столом. В конечном счете, я знаю, что это должно быть исправление , но , но мне нужно конкретно знать, почему это потребуется (см. Использование remmina ниже). Ни один из моих поисков в сети не дал ответа на вопрос, почему.
На настольном компьютере настройки общего доступа:
Примечание: я могу успешно использовать инструмент remmina, используя VNC настройка, чтобы подключиться к настольному компьютеру и отобразить его, без , используя вышеупомянутую настройку gsettings
на настольном компьютере. Но когда я использую тип vncviewer типа TigerVNC с помощью этой команды:
vncviewer thedesk.local:0
(где thedesk.local - это настольный компьютер с Ubuntu), я получаю всплывающее окно с:
No matching security types
И вывод в оболочку показывает:
$ vncviewer thedesk.local:0
TigerVNC Viewer 64-bit v1.9.0
Built on: 2018-07-29 13:31
Copyright (C) 1999-2018 TigerVNC Team and many others (see README.rst)
See http://www.tigervnc.org for information on TigerVNC.
Sun May 26 07:10:29 2019
DecodeManager: Detected 8 CPU core(s)
DecodeManager: Creating 4 decoder thread(s)
Sun May 26 07:10:30 2019
CConn: connected to host thedesk.local port 5900
Sun May 26 07:10:31 2019
CConnection: Server supports RFB protocol version 3.7
CConnection: Using RFB protocol version 3.7
CConnection: No matching security types
CConn: No matching security types
Как на ноутбуке Ubuntu 18.10, так и на настольных компьютерах у меня установлены эти версии пакетов, подобных vnc, apt remove
- со всеми другими разновидностями "vnc". «клиенты / серверы, чтобы избежать путаницы с механизмом« альтернатив »Linux»:
$ dpkg --list *vnc* | grep '^i'
ii libvncclient1:amd64 0.9.11+dfsg-1.1ubuntu0.1 amd64 API to write one's own VNC server - client library
ii remmina-plugin-vnc:amd64 1.2.31.4+dfsg-1ubuntu1 amd64 VNC plugin for Remmina
ii tigervnc-common 1.9.0+dfsg-1 amd64 Virtual network computing; Common software needed by servers
ii tigervnc-standalone-server 1.9.0+dfsg-1 amd64 Standalone virtual network computing server
ii tigervnc-viewer 1.9.0+dfsg-1 amd64 Virtual network computing client for X
$ vncviewer --version |& head -5
TigerVNC Viewer 64-bit v1.9.0
Built on: 2018-07-29 13:31
Copyright (C) 1999-2018 TigerVNC Team and many others (see README.rst)
See http://www.tigervnc.org for information on TigerVNC.
$
remmina --version
появляется диалоговое окно с текстом:
1.2.31.4 (git n/a)
просто чтобы показать, что какой-то клиент может общаться с рабочим столом Ubuntu, но не с TigerVNC. Я попытался подключиться к thedesk.local из Raspberry Pi 3 B +, работающей под управлением Raspbian, и получил другую ошибку, но, по-видимому, все еще включающую аналогичную несовместимость с протоколами безопасности между реализациями VNC. Ошибка:
Итак, что же представляет remmina для X-сервера (или VNC-сервера?), Работающего на дисплее: 0 on thedesk.local, что клиент просмотра TigerVNC (или тот клиент RealVNC, работающий под Raspbian) не предоставляет?
Мой поиск в Интернете приводит к таким результатам, как https://ubuntuforums.org/showthread.php ? t = 2384046 , которые дают "Почему бы вам не сделать вместо этого 'X'?" тип ответов, который является справедливым наблюдением. Но я специально хочу выяснить, почему я должен был бы использовать изменение gsettings
только для того, чтобы программа просмотра TigerVNC открыла всплывающее окно, в то время как remmina не требует этого. (Когда мне нужно обеспечить безопасность, я уже знаю, как туннелировать трафик через SSH.)
2-месячный поток, таким образом, Вы уже, возможно, нашли ответ.
Собственный VNC совместное использование работы над запасом Ubuntu 18.04 LTS
gsettings set org.gnome.Vino require-encryption false
По-видимому, для VNC доступны два совершенно разных протокола шифрования. Согласно «Оценка сетевой безопасности: знай свою сеть», таблица 7-31 , есть:
- type 18: TLS authentication, used by Ubuntu Linux distributions
- type 19: TLS authentication, used by the Win32 VeNCrypt package
(не уверен, почему в книге явно упоминается «Ubuntu» для типа 18 здесь).
Vino (приложение для совместного использования рабочего стола Gnome) использует LibVNCServer в качестве серверной части. И LibVNCServer поддерживает только тип 18 . Remmina также использует LibVNCServer, поэтому он также поддерживает тип 18. Кстати, поскольку Remmina является клиентом VNC , я думаю, он даже поддерживает тип 19.
TigerVNC с другой стороны, очевидно не поддерживает тип 18, но поддерживает тип 19; по крайней мере, это то, что предлагает исходный код.
Причина, по которой два инструмента могут взаимодействовать после того, как gsettings установила org.gnome.Vino require-encryption false
, заключается в том, что эта команда отключает шифрование в Vino, поэтому TigerVNC будет просто использовать незашифрованное соединение (которое это протокол, который поддерживают оба инструмента).
Чтобы действительно исправить это, либо LibVNCServer необходимо добавить поддержку типа 19 (VeNCrypt), либо TigerVNC необходимо добавить поддержку типа 18. Я не знаю, предпринимаются ли какие-либо подобные усилия в обоих проектах.
Примечание: я думаю, что вся эта ситуация намного усложняется тем фактом, что эти две схемы называются «TLS» и фактически используют TLS, но все еще несовместимы. А для типа 18 нет даже фактического имени; и сам тип 19/VeNCrypt имеет девять различных подтипов для разных методов шифрования. По моему опыту, весь этот беспорядок очень характерен для протокола VNC.