Вопрос или проблема
У меня есть сервер Ubuntu, который запускает guacamole 1.5.5. При подключении к хосту Windows 11 возникает ошибка, так как имя, к которому я подключаюсь (10.0.0.5), не соответствует имени сертификата (Test-Client).
При добавлении клиента 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: Certificate verification failure 'unable to get local issuer certificate (20)' at stack position 0
guacd[71796]: DEBUG: CN = TestClient
guacd[71796]: DEBUG: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
guacd[71796]: DEBUG: @ WARNING: CERTIFICATE NAME MISMATCH! @
guacd[71796]: DEBUG: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
guacd[71796]: DEBUG: The hostname used for this connection (10.0.0.5:3389)
guacd[71796]: DEBUG: does not match the name given in the certificate:
guacd[71796]: DEBUG: Common Name (CN):
guacd[71796]: DEBUG: TestClient
guacd[71796]: DEBUG: A valid certificate for the wrong name should NOT be trusted!
guacd[71796]: INFO: Certificate validation failed
guacd[71796]: DEBUG: certificate not trusted, aborting.
guacd[71796]: DEBUG: transport_connect_tls:freerdp_set_last_error_ex ERRCONNECT_TLS_CONNECT_FAILED [0x00020008]
guacd[71796]: DEBUG: SVC "rdpdr" disconnected.
guacd[71796]: DEBUG: SVC "rdpsnd" disconnected.
guacd[71796]: INFO: RDP server closed/refused connection: SSL/TLS connection failed (untrusted/self-signed certificate?)
guacd[71796]: INFO: User "@deefc922-81e6-487f-961c-010268f46c5a" disconnected (0 users remain)
guacd[71796]: INFO: Last user of connection "$3592ef80-9f8c-4c7c-97b9-21037ec709a5" disconnected
guacd[71796]: DEBUG: Requesting termination of client...
guacd[71796]: DEBUG: Client terminated successfully.
guacd[71792]: INFO: Connection "$3592ef80-9f8c-4c7c-97b9-21037ec709a5" removed.
guacd[71792]: DEBUG: Unable to request termination of client process: No such process
guacd[71792]: DEBUG: All child processes for connection "$3592ef80-9f8c-4c7c-97b9-21037ec709a5" have been terminated.
^X^Cguacd[71792]: DEBUG: Accepting of further client connection(s) interrupted by signal.
что сбивает меня с толку, потому что я установил ignore-cert на true.
Кроме того, я протестировал порт RDP следующим образом:
telnet 10.0.0.5 3389
Trying 10.0.0.5...
Connected to 10.0.0.5.
Escape character is '^]'.
что говорит мне, что порт работает.
Мой guacamol.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
Любая помощь будет очень признательна.
Это опечатка? Я замечаю неверный знак больше после true
<param name="ignore-cert">true></param>
^
Ответ или решение
Вопрос использования Guacamole для подключения к Windows 11 с игнорированием RDP-сертификатов требует внимания к деталям конфигурации. Ваша проблема, связанная с несоответствием имени по сертификату, может быть решена с помощью нескольких шагов. Рассмотрим эту тему подробнее.
1. Проверка конфигурации подключения
Согласно вашему XML-коду, возможно, вы допустили небольшую ошибку при указании параметра ignore-cert
. Ваша строка:
<param name="ignore-cert">true></param>
содержит лишний символ >
в конце, и корректная строка должна выглядеть следующим образом:
<param name="ignore-cert">true</param>
Убедитесь, что вы исправили эту опечатку в вашей конфигурации.
2. Параметры конфигурации RDP
Помимо исправления вышеупомянутой ошибки, необходимо также убедиться, что вы правильно настроили другие параметры RDP. В частности, в вашем guacamole.properties
вы указали:
rdp-ignore-cert: true
Это правильно и дополнительно обеспечивает игнорирование сертификатов на уровне конфигурации Guacamole. Тем не менее, важно убедиться, что Guacamole правильно читает этот файл.
3. Проверка версий и совместимости
Поскольку вы используете Guacamole версии 1.5.5, стоит также проверить, не появились ли обновления или исправления, которые могут оказать влияние на работу с сертификатами RDP. Обновление до последней версии может помочь устранить проблемы, если такие существуют.
4. Тестирование подключения
Проверка подключения с помощью утилиты telnet
показала, что порт 3389 открыт, что является хорошим знаком. Однако важно также убедиться, что RDP-сервер на стороне Windows 11 правильно настроен на прием соединений с различными клиентами и что настройки брандмауэра не блокируют соединение.
5. Дебаггинг и журналы
Из ваших журналов видно, что происходит ошибка сертификата. Вам следует включить более подробное логирование для guacd
, чтобы получить больше информации о том, что именно не так. Например, вы можете запустить guacd
с большим уровнем отладки:
guacd -v
Эти данные помогут вам глубже понять проблемы с подключением и сертификатами.
6. Проверка сертификатов на Windows 11
Убедитесь, что на Windows 11 установлен валидный сертификат или, если вы используете самоподписанный сертификат, добавьте его в доверенные корневые сертификаты. Это может оказаться важным для случая, когда вы хотите исключить возможность игнорирования сертификатов.
Заключение
Итак, чтобы игнорировать RDP-сертификаты в Guacamole, необходимо убедиться в корректности конфигурации, правильно указать параметр ignore-cert
, проверить версию и обновить программное обеспечение, а также провести тесты и проанализировать журналы работы. Эти шаги помогут вам решить возникшую проблему и обеспечить стабильную работу удаленных подключений к Windows 11 через Guacamole.