Вопрос или проблема
У меня есть сервер Ubuntu, на котором работает Guacamole 1.5.5. При попытке добавить RDP-соединение я сталкиваюсь со следующей проблемой:
При добавлении клиента Ubuntu с xrdp проблем нет, все работает нормально.
При добавлении клиента Windows 11 с этой конфигурацией:
<?xml version="1.0" encoding="UTF-8"?>
<user-mapping>
<authorize
username="admin"
password="password"
encoding="plain">
<connection name="Windows-Test-Client">
<protocol>rdp</protocol>
<param name="hostname">10.0.0.5</param>
<param name="port">3389</param>
<param name="username">azureuser</param>
<param name="password">password</param>
<param name="ignore-cert">true></param>
<param name="security">any</param>
</connection>
</authorize>
Я получаю следующую ошибку:
guacd[71796]: DEBUG: Сбой проверки сертификата 'невозможно получить локальный сертификат удостоверяющего центра (20)' на позиции в стеке 0
guacd[71796]: DEBUG: CN = TestClient
guacd[71796]: DEBUG: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
guacd[71796]: DEBUG: @ ПРЕДУПРЕЖДЕНИЕ: НЕДОСТУПНОЕ ИМЯ СЕРТИФИКАТА! @
guacd[71796]: DEBUG: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
guacd[71796]: DEBUG: Имя хоста, использованное для этого соединения (10.0.0.5:3389)
guacd[71796]: DEBUG: не совпадает с именем, указанным в сертификате:
guacd[71796]: DEBUG: Общее имя (CN):
guacd[71796]: DEBUG: TestClient
guacd[71796]: DEBUG: Действительный сертификат для неверного имени НЕ должен быть доверен!
guacd[71796]: INFO: Проверка сертификата не удалась
guacd[71796]: DEBUG: сертификат не доверен, прерывание.
guacd[71796]: DEBUG: transport_connect_tls:freerdp_set_last_error_ex ERRCONNECT_TLS_CONNECT_FAILED [0x00020008]
guacd[71796]: DEBUG: Сервис "rdpdr" отключен.
guacd[71796]: DEBUG: Сервис "rdpsnd" отключен.
guacd[71796]: INFO: RDP-сервер закрыл/отказал в соединении: SSL/TLS-соединение не удалось (недоверенный/самоподписанный сертификат?)
guacd[71796]: INFO: Пользователь "@deefc922-81e6-487f-961c-010268f46c5a" отключен (осталось 0 пользователей)
guacd[71796]: INFO: Последний пользователь соединения "$3592ef80-9f8c-4c7c-97b9-21037ec709a5" отключен
guacd[71796]: DEBUG: Запрос на завершение работы клиента...
guacd[71796]: DEBUG: Клиент успешно завершен.
guacd[71792]: INFO: Соединение "$3592ef80-9f8c-4c7c-97b9-21037ec709a5" удалено.
guacd[71792]: DEBUG: Невозможно запросить завершение процесса клиента: Процесс не найден
guacd[71792]: DEBUG: Все дочерние процессы для соединения "$3592ef80-9f8c-4c7c-97b9-21037ec709a5" были завершены.
^X^Cguacd[71792]: DEBUG: Принятие дальнейших соединений с клиентом прервано сигналом.
Что меня сбивает с толку, так это то, что я установил ignore-cert в true. Кроме того, я протестировал порт rdp следующим образом:
telnet 10.0.0.5 3389
Подключение к 10.0.0.5...
Подключено к 10.0.0.5.
Символ выхода — '^]'.
что говорит мне о том, что порт работает.
Мой guacamole.properties выглядит так:
guacd-hostname: localhost
guacd-port: 4822
lib-directory: /usr/local/lib
auth-provider: net.sourceforge.guacamole.net.auth.simple.SimpleAuthenticationProvider
rdp-ignore-cert: true
Я уже искал в интернете, но не могу исправить свою проблему.
Любая помощь будет очень признательна.
Ответ или решение
Ситуация, с которой вы столкнулись, связана с проблемами валидации сертификата RDP-соединения в Guacamole. Похоже, что вы правильно настроили параметр ignore-cert
, однако возникшие ошибки указывают на то, что Guacamole все еще проверяет сертификаты, что и вызывает сбой.
Анализ проблемы
-
Ошибки в журнале:
- Сообщения о неудачной валидации сертификата (например,
unable to get local issuer certificate
иWARNING: CERTIFICATE NAME MISMATCH
) говорят о том, что Guacamole не может проверить сертификат, использованный сервером RDP. - Это может происходить даже при установке
ignore-cert
, если настройка не была правильно применена.
- Сообщения о неудачной валидации сертификата (например,
-
Настройка RDP-соединения:
- Убедитесь, что параметр
ignore-cert
правильно настроен в XML-файле конфигурации подключения, как вы это сделали. Однако важно также проверить файлы конфигураций на уровне Guacamole.
- Убедитесь, что параметр
-
Файл
guacamole.properties
:- У вас установлен параметр
rdp-ignore-cert: true
, что правильное решение. Это означает, что все RDP-соединения должны игнорировать сертификаты. Убедитесь, что файлguacamole.properties
правильно загружен и приложение Guacamole имеет к нему доступ.
- У вас установлен параметр
Рекомендации по решению проблемы
-
Перезагрузка Guacamole:
- Убедитесь, что вы перезагрузили как сервер Guacamole, так и
guacd
после внесения изменений вguacamole.properties
. Иногда изменения не вступают в силу без перезапуска сервисов.
- Убедитесь, что вы перезагрузили как сервер Guacamole, так и
-
Проверка и обновление конфигурации сервера:
- Проверьте, действительно ли параметр
ignore-cert
активен. Это можно сделать с помощью тестов на другом клиенте или проверкой текущих установленных параметров через веб-интерфейс Guacamole. - Убедитесь, что все зависимости и версии библиотек (таких как FreeRDP) актуальны и совместимы с Guacamole 1.5.5.
- Проверьте, действительно ли параметр
-
Клиентский администратор в Windows:
- Убедитесь, что на Windows 11 установлен безопасный и корректный конфиг для Xrdp. Убедитесь, что на стороне Windows используется нужный порт и что разрешены подключения для вашего учетной записи пользователя.
-
Проверка сертификатов на сервере RDP:
- Возможно, сертификат, используемый на сервере RDP, неправильно настроен. Проверьте, что для вашего хоста (10.0.0.5) установлен действующий сертификат SSL и что его содержание соответствует.
-
Используйте IP-адрес вместо имени:
- Попробуйте изменить
param name="hostname"
на IP-адрес сервера RDP, чтобы избежать несоответствия с имени сертификата. Некоторые настройки RDP требуют полного соответствия имени хоста и CN (Common Name).
- Попробуйте изменить
Заключение
Мы надеемся, что эти рекомендации помогут вам устранить возникшую проблему с Guacamole. Если вышеописанные шаги не помогли, возможно, следует также рассмотреть возможность обращения к сообществу поддержки Guacamole или на специализированные форумы, где можно найти опытных пользователей, способных помочь более детально.