Вопрос или проблема
При подключении к Xrdp
на сервере CentOS с помощью клиента удаленного рабочего стола Windows появляются артефакты цвета. Я хочу проверить, будут ли такие же артефакты у подлежащего Xvnc
.
Xvnc работает:
LISTEN 0 5 127.0.0.1:5911 *:* users:(("Xvnc",pid=10260,fd=7))
Я перенаправляю порт:
ssh root@funktest -L 5911:localhost:5911
И подключаюсь с помощью tightvnc
vncviewer.exe
к localhost:11
. Он запрашивает пароль, который я не знаю. В файле /etc/xrdp/xrdp.ini
есть блок:
[Xvnc]
name=Xvnc
lib=libvnc.so
username=ask
password=ask
Что означает ask
? Какой пароль по умолчанию используется xrdp?
“Подключитесь напрямую к Xvnc, запущенному xrdp”
ИНФОРМАЦИЯ:
Вы хотите подключиться к VNC-серверу, который работает на вашем сервере Linux. По умолчанию, когда вы устанавливаете xrdp, VNC-сервер настроен на принятие соединений только с локального хоста. Это ограничивает любые потенциальные проблемы безопасности, которые может представить VNC-сервер, только локальным хостом. Нет внешних подключений.
VNC-сервер здесь является «посредником». Он соединяет xrdp с X-сессией. Другим «посредником», поддерживаемым xrdp, является X11rdp.
Информация, которую вы просматриваете:
[Xvnc]
name=Xvnc
lib=libvnc.so
username=ask
password=ask
Библиотека libvnc является VNC клиентом.
Имя пользователя / пароль:
Это имя пользователя/пароль Linux.
Точно так же, как при входе локально.
С сайта xrdp:
libvnc
Libvnc — модуль VNC для xrdp. Libvnc предоставляет соединение с VNC
серверами. Это простой клиент, поддерживающий только несколько VNC кодировок (raw,
cursor, copyrect). Упор на то, чтобы быть небольшим и быстрым. Обычно,
сервер xrdp и сервер Xvnc — это одна и та же машина, так что кодировки сжатия битмап могут только замедлить сессию.sesman
Sesman, менеджер сессий. Sesman является менеджером сессий xrdp. Xrdp
подключается к sesman для проверки имени пользователя / пароля, а также запускает
пользовательскую сессию, если учетные данные верны. Это многопроцессный /
менеджер сессий только для Linux. Сессии можно запускать или просматривать из
командной строки через sesrun.
Подключитесь к VNC-серверу, используемому xrdp.
Определите, какой VNC-сервер работает на вашей машине.
Одним из способов может быть что-то вроде:
ps aux | grep -i vnc
Теперь найдите конфигурационный файл для этого сервера и настройте, кто может подключаться к этому серверу. Скорее всего, пароль не установлен.
Каждый сервер будет разным, поэтому я не могу сказать здесь.
Основная мысль состоит в том, что вы хотите изменить конфигурационный файл для VNC-сервера, а не xrdp.
Не забудьте вернуть VNC-сервер обратно на localhost только после завершения, чтобы никто не мог подключиться к VNC-серверу напрямую.
Ответ или решение
Подключение напрямую к Xvnc, запущенному через xrdp
Если вы наблюдаете артефакты цвета при подключении к вашему CentOS серверу через клиент удаленного рабочего стола Windows, важно проверить, будут ли те же проблемы при подключении напрямую к Xvnc.
Шаги для подключения к Xvnc
Сначала, как вы уже сделали, вы открыли SSH туннель для порта 5911:
ssh root@funktest -L 5911:localhost:5911
Это позволяет вам перенаправить локальный порт 5911 на серверный Xvnc на вашем CentOS. Таким образом, вы можете использовать VNC-клиент, например tightvnc
или vncviewer.exe
, для подключения к localhost:5911
(вы также можете попробовать добавить номер дисплея, например localhost:11
, но ваш текущий порт соответствует 5911).
Запрос пароля
Сообщение о запросе пароля связано с настройками аутентификации сервера VNC. В вашем конфигурационном файле /etc/xrdp/xrdp.ini
указано:
[Xvnc]
name=Xvnc
lib=libvnc.so
username=ask
password=ask
Значение ask
для параметров username
и password
означает, что при подключении к Xvnc xrdp будет запрашивать у вас имя пользователя и пароль. Это те же учетные данные, которые вы используете для входа на ваш сервер Linux. Таким образом, вам необходимо ввести имя пользователя и пароль, которые соответствуют вашему Linux-аккаунту.
Дополнительные настройки VNC
Как вы уже упомянули, по умолчанию VNC-сервер настроен на прием только локальных подключений. Чтобы изменить настройки VNC, вам может понадобиться найти файл конфигурации VNC-сервера (например, ~/.vnc/xstartup
или аналогичный) и убедиться, что у вас действительно задан пароль для доступа к VNC-сессиям, если это требуется.
Если у вас нет пароля, вы можете установить его с помощью утилиты vncpasswd
, выполнив следующую команду на вашем сервере:
vncpasswd
Эта команда позволит вам создать новый пароль для подключения к VNC.
Безопасность
Не забудьте, что важно изменять конфигурации обратно для ограничения доступа. Как только вы завершите проверку, рекомендуется ограничить доступ к VNC-серверу только для локального хоста, чтобы предотвратить возможные угрозы безопасности.
Заключение
Подводя итог, подключение к Xvnc напрямую требует входа с вашей учетной записью Linux. Убедитесь, что у вас есть необходимые учетные данные для аутентификации. После входа вы сможете проверить, будут ли те же артефакты цвета, которые вы наблюдали при использовании xrdp.