X11VNC – соединение не удалось из-за неправильного пароля, хотя пароль верный

Вопрос или проблема

Я запускаю Xubuntu 20.04 как виртуальную машину на Ubuntu Server 20.04 с мостовым интерфейсом. Я могу подключаться к виртуальной машине по SSH (также используя Putty на Windows 10, который будет получать доступ к виртуальной машине).

Используя VNCViewer (часть проекта TigerVNC) на Windows 10, я ввёл IP-адрес виртуальной машины. Появилось всплывающее окно для ввода пароля, где я ввёл пароль, но когда я нажимаю «подключиться», я получаю

TigerVNC
Произошла неожиданная ошибка при взаимодействии с сервером:
Ошибка аутентификации: проверка пароля не удалась!
Попробовать переподключиться?

                                                      [Нет] [Да]

Я установил x11vnc обычным способом с помощью apt. Следуя инструкциям в интернете, я создал

  • зашифрованный файл пароля

    sudo x11vnc -storepasswd PASSWORD /home/USER/.vnc/passwd
    
  • незашифрованный файл пароля

    echo PASSWORD > /home/USER/.vnc/password
    

Соответственно, я выполнил

x11vnc -forever -shared -display :0 -rfbauth /home/user/.vnc/passwd

для зашифрованного и

x11vnc -forever -shared -display :0 -passwdfile /home/xubuntu/.vnc/passwd

для незашифрованного файла пароля.

Примечание: Очевидно, что я не делал оба варианта одновременно. Также опечатка в пароле невозможна из-за простоты пароля (что-то вроде “abcd”).

Оба варианта дали следующий лог в терминале SSH:

x11vnc -forever -shared -display :0 -passwdfile /home/xubuntu/.vnc/passwd

30/03/2022 10:38:02 версия x11vnc: 0.9.16 последняя модификация: 2019-01-05  pid: 6641
30/03/2022 10:38:02 Используется X отображение :0
30/03/2022 10:38:02 rootwin: 0x53b reswin: 0x3800001 dpy: 0xc07a6840
30/03/2022 10:38:02
30/03/2022 10:38:02 ------------------ ПОЛЕЗНАЯ ИНФОРМАЦИЯ ------------------
30/03/2022 10:38:02 X DAMAGE доступен на дисплее, используем его для запроса обновлений.
30/03/2022 10:38:02   Чтобы отключить это поведение, используйте: '-noxdamage'
30/03/2022 10:38:02
30/03/2022 10:38:02   Большинство композитных менеджеров окон, таких как 'compiz' или 'beryl'
30/03/2022 10:38:02   приводят к сбоям X DAMAGE, поэтому вы можете не видеть никаких обновлений экрана
30/03/2022 10:38:02   через VNC.  Либо отключите 'compiz' (рекомендуется), либо
30/03/2022 10:38:02   укажите опцию командной строки x11vnc '-noxdamage'.
30/03/2022 10:38:02
30/03/2022 10:38:02 Отображение каркаса: -wireframe режим действует при перемещении окон.
30/03/2022 10:38:02   Если это приводит к нежелательному поведению (плохой отклик, ошибки рисования
30/03/2022 10:38:02   и т. д.), это можно отключить:
30/03/2022 10:38:02    - используйте '-nowf', чтобы полностью отключить отображение каркасом.
30/03/2022 10:38:02    - используйте '-nowcr', чтобы отключить Копирование Прямоугольника после
30/03/2022 10:38:02      освобождения перемещенного окна на новом месте.
30/03/2022 10:38:02   Также смотрите раздел -help для настройки параметров.
30/03/2022 10:38:02   Вы можете нажать 3 раза клавишу Alt_L (левую клавишу "Alt"), чтобы
30/03/2022 10:38:02   обновить экран; также смотрите опцию -fixscreen для
30/03/2022 10:38:02   периодического обновления.
30/03/2022 10:38:02
30/03/2022 10:38:02 XFIXES доступны на дисплее, сброс режима курсора
30/03/2022 10:38:02   на: '-cursor most'.
30/03/2022 10:38:02   Чтобы отключить это поведение, используйте: '-cursor arrow'
30/03/2022 10:38:02   или '-noxfixes'.
30/03/2022 10:38:02 используем XFIXES для рисования курсора.
30/03/2022 10:38:02 GrabServer контроль через XTEST.
30/03/2022 10:38:02
30/03/2022 10:38:02 Обнаружение прокрутки: -scrollcopyrect режим активен для
30/03/2022 10:38:02   использования RECORD расширения для попытки обнаружить прокручиваемые окна
30/03/2022 10:38:02   (вызываемые либо нажатием клавиш, либо вводом мыши).
30/03/2022 10:38:02   Если это приводит к нежелательному поведению (плохой отклик, ошибки рисования
30/03/2022 10:38:02   и т. д.), это можно отключить через: '-noscr'
30/03/2022 10:38:02   Также смотрите раздел -help для настройки параметров.
30/03/2022 10:38:02   Вы можете нажать 3 раза клавишу Alt_L (левую клавишу "Alt"), чтобы
30/03/2022 10:38:02   обновить экран; также смотрите опцию -fixscreen для
30/03/2022 10:38:02   периодического обновления.
30/03/2022 10:38:02
30/03/2022 10:38:02 XKEYBOARD: количество символов клавиатуры для кодов клавиш 7 больше
30/03/2022 10:38:02   чем 4, и 51 символ клавиатуры отображается выше 4.
30/03/2022 10:38:02   Автоматически переключение в режим -xkb.
30/03/2022 10:38:02   Если это ухудшает отображение клавиш, вы можете
30/03/2022 10:38:02   отключить это с помощью параметра "-noxkb".
30/03/2022 10:38:02   Также помните о "-remap DEAD" для акцентирования символов.
30/03/2022 10:38:02
30/03/2022 10:38:02 Расширение X FBPM не поддерживается.
Xlib: расширение "DPMS" отсутствует на дисплее ":0".
30/03/2022 10:38:02 X дисплей не поддерживает DPMS.
30/03/2022 10:38:02 --------------------------------------------------------
30/03/2022 10:38:02
30/03/2022 10:38:02 ID визуализации по умолчанию: 0x21
30/03/2022 10:38:02 Читаем начальные данные из X дисплея в кадр.
30/03/2022 10:38:02 инициализация_экрана: fb_depth/fb_bpp/fb_Bpl 24/32/4096
30/03/2022 10:38:02
30/03/2022 10:38:02 X дисплей :0 имеет глубину 32 бита = 24 истинного цвета
30/03/2022 10:38:02
30/03/2022 10:38:02 Автопоиск TCP порта
30/03/2022 10:38:02 Автопоиск выбраного TCP порта 5901
30/03/2022 10:38:02 Автопоиск TCP6 порта
30/03/2022 10:38:02 rfbListenOnTCP6Port: ошибка привязки IPv6 сокета: Адрес уже используется
30/03/2022 10:38:02 Автопоиск выбраного TCP6 порта 5901
30/03/2022 10:38:02 listen6: bind: Адрес уже используется
30/03/2022 10:38:02 Не слушаем на интерфейсе IPv6.
30/03/2022 10:38:02
30/03/2022 10:38:02 Xinerama присутствует и активна (например, многоголовая система).
30/03/2022 10:38:02 Xinerama: количество субэкранов: 1
30/03/2022 10:38:02 Xinerama: не требуется чернота (только один субэкран)
30/03/2022 10:38:02
30/03/2022 10:38:02 скорость чтения fb: 230 МБ/сек
30/03/2022 10:38:02 быстрое чтение: сброс -wait  мс до: 10
30/03/2022 10:38:02 быстрое чтение: сброс -defer мс до: 10
30/03/2022 10:38:02 X сервер сообщает, что имеется 10 кнопок мыши.
30/03/2022 10:38:02 настройка экрана завершена.
30/03/2022 10:38:02

Виртуальный стол VNC:      SZA-DT043-L-VM0:1
ПОРТ=5901

******************************************************************************
Вы пробовали x11vnc '-ncache' функцию кэширования пикселей на стороне клиента VNC?

Схема сохраняет данные пикселей в оффскрин на стороне VNC viewer для более быстрого
извлечения. Это должно работать с любым VNC viewer. Попробуйте это, запустив:

    x11vnc -ncache 10 ...

Также можно добавить -ncache_cr для плавного перемещения окна 'copyrect'.
Больше информации: http://www.karlrunge.com/x11vnc/faq.html#faq-client-caching

Я заметил, что, по крайней мере в случае создания незашифрованного файла пароля, запуск x11vnc с sudo вызывает ошибку

30/03/2022 10:46:06 версия x11vnc: 0.9.16 последняя модификация: 2019-01-05  pid: 6708
Протокол не указан
30/03/2022 10:46:06 XOpenDisplay(":0") потерпел неудачу.
30/03/2022 10:46:06 Повторная попытка с XAUTHLOCALHOSTNAME=localhost ...
Протокол не указан

30/03/2022 10:46:06 ***************************************
30/03/2022 10:46:06 *** Не удалось открыть X DISPLAY ":0"

***x11vnc не смог открыть X DISPLAY ":0", он не может продолжать
***Возможно, выше есть сообщение об ошибке "Xlib:" с деталями о сбое

Некоторые советы и рекомендации
 ...

Я не знаю, как это влияет на проблему, с которой я столкнулся, но подумал, что это может дать какое-то представление более знающим людям здесь.

Поскольку это внутренняя корпоративная сеть, я не переживаю о том, что кто-то может взломать мою виртуальную машину (которая, кстати, предназначена для утилизации). Я попробую настроить X11VNC без какой-либо аутентификации (если возможно), но даже если это сработает, я всё равно хотел бы понять причину текущей проблемы.

Решение было довольно абсурдным. Я использую TigerVNC Viewer. Очевидно, он ожидает порт 5900 (надеюсь, это стандартный порт VNC), но мой x11vnc всегда начинает с 5901. Все, что мне нужно было сделать, это добавить порт. В случае, если кто-то еще столкнётся с этой проблемой, используйте <REMOTE_MACHINE_IP_ADDR>:<PORT>, чтобы получить доступ к вашей машине, если порт не 5900.

Проблему также можно решить, добавив опцию -rfbport 5900

x11vnc -forever -shared -display :0 -rfbport 5900 -passwdfile /home/xubuntu/.vnc/passwd

Ответ или решение

Проблема с ошибкой "Authentication failure: password check failed!" при подключении к x11vnc через VNCViewer может быть вызвана несколькими факторами, несмотря на то, что вы уверены в правильности пароля. Ниже рассмотрим возможные причины и решения.

Причины проблемы

  1. Неправильный порт: Как вы упомянули, x11vnc по умолчанию прослушивает порт 5901, а многие VNC-клиенты, включая TigerVNC, ожидают подключения на порту 5900. Если вы не указали порт при подключении, клиент может беспокоиться о неверном пароле.

  2. Файлы паролей: Убедитесь, что вы используете правильный файл пароля. У вас есть как зашифрованный, так и незашифрованный файл, и вы должны запускать x11vnc с соответствующим параметром:

    • Для зашифрованного: -rfbauth /home/USER/.vnc/passwd
    • Для незашифрованного: -passwdfile /home/USER/.vnc/passwd
  3. Проблемы с правами доступа: Если вы запускаете x11vnc с sudo, это может вызвать проблемы с доступом к графическому окружению. X11 не позволяет авторизованным пользователям запускать приложения, которые требуют доступа к дисплею другого пользователя. Попробуйте запустить x11vnc без sudo от имени пользователя, под которым работает графическая сессия (например, xubuntu).

Решения

  1. Укажите порт при подключении: Если ваш x11vnc запущен на порту 5901, убедитесь, что вы подключаетесь, указав порт, например:

    <REMOTE_MACHINE_IP_ADDR>:5901
  2. Измените порт: Если вы хотите использовать стандартный порт 5900, запустите x11vnc с дополнительным параметром:

    x11vnc -forever -shared -display :0 -rfbport 5900 -passwdfile /home/XUBUNTU/.vnc/passwd
  3. Проверьте файлы пароля: Убедитесь, что файл пароля создан корректно и имеется правильный путь к нему. Путь должен быть указан с учетом регистра букв и без ошибок.

  4. Проверка прав доступа: Если вы всё ещё сталкиваетесь с проблемами, попробуйте запустить x11vnc от имени пользователя, которому принадлежит десктоп, без использования sudo.

Дополнительные советы

  • Если вы хотите временно отключить аутентификацию для тестирования, вы можете запустить x11vnc без параметра -rfbauth или -passwdfile. Однако имейте в виду, что это небезопасно и не рекомендуется в долгосрочной перспективе.
  • Внимательно следите за журналами ошибок в терминале при запуске x11vnc для нахождения возможных указаний на решения.

Следуя этим шагам, вы сможете устранить проблему с подключением к x11vnc и избежать ошибки с паролем.

Оцените материал
Добавить комментарий

Капча загружается...