gnome-remote-desktop: Не удалось получить имя пользователя RDP: учетные данные не заданы – И МНОГОЕ ДРУГОЕ

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

После установки новой версии Ubuntu 22.04 я попытался включить Удаленный рабочий стол:
информация для авторизации

Затем я пошел на другой рабочий компьютер (пробовал как Windows, так и macOS с Microsoft RDC и Jump Desktop) и попытался подключиться. Когда подключение не удалось без каких-либо значительных деталей, я заглянул в /var/log/syslog на Ubuntu и обнаружил следующее:

21 июл 02:04:16 ИМЯ_УСТРОЙСТВА gnome-remote-de[3006]: Не удалось получить имя пользователя RDP: Учетные данные не заданы
21 июл 02:04:55 ИМЯ_УСТРОЙСТВА gnome-remote-de[3006]: сообщение повторено 6 раз: [ Не удалось получить имя пользователя RDP: Учетные данные не заданы]

Затем я открыл системные НастройкиОбщие доступыУдаленный рабочий стол и столкнулся с предложением ввести данные для авторизации в связке ключей. После авторизации я снова попытался подключиться через RDP с помощью предыдущих RDC.

Наблюдая за syslog, я увидел следующие результаты:
Jump Desktop:

gnome-remote-desktop-daemon[3006]: [02:28:37:827] [3006:4409] [ОШИБКА][com.winpr.sspi.NTLM] - NTLM_NEGOTIATE_MESSAGE::NegotiateFlags недопустимые флаги 0x08e0080231, необходимые 0x00000205
gnome-remote-desktop-daemon[3006]: [02:28:37:827] [3006:4409] [ПРЕДУПРЕЖДЕНИЕ][com.winpr.negotiate] - AcceptSecurityContext статус SEC_E_INVALID_TOKEN [0x80090308]
gnome-remote-desktop-daemon[3006]: [02:28:37:827] [3006:4409] [ПРЕДУПРЕЖДЕНИЕ][com.winpr.sspi] - AcceptSecurityContext статус SEC_E_INVALID_TOKEN [0x80090308]
gnome-remote-desktop-daemon[3006]: [02:28:37:827] [3006:4409] [ОШИБКА][com.freerdp.core.nla] - AcceptSecurityContext статус SEC_E_INVALID_TOKEN [0x80090308]
gnome-remote-desktop-daemon[3006]: [02:28:37:827] [3006:4409] [ОШИБКА][com.freerdp.core.transport] - ошибка аутентификации клиента
gnome-remote-desktop-daemon[3006]: [02:28:37:827] [3006:4409] [ОШИБКА][com.freerdp.core.peer] - peer_recv_callback: CONNECTION_STATE_INITIAL - rdp_server_accept_nego() не удалась
gnome-remote-desktop-daemon[3006]: [02:28:37:827] [3006:4409] [ОШИБКА][com.freerdp.core.transport] - transport_check_fds: transport->ReceiveCallback() - -1
gnome-remote-de[3006]: Не удалось проверить файловый дескриптор, закрытие соединения

Microsoft Remote Desktop:

gnome-remote-desktop-daemon[3006]: [02:29:09:352] [3006:4421] [ОШИБКА][com.freerdp.core.transport] - BIO_read вернул системную ошибку 0: Успех
gnome-remote-desktop-daemon[3006]: [02:29:09:352] [3006:4421] [ОШИБКА][com.freerdp.core] - transport_read_layer:freerdp_set_last_error_ex ERRCONNECT_CONNECT_TRANSPORT_FAILED [0x0002000D]
gnome-remote-de[3006]: Не удалось проверить файловый дескриптор, закрытие соединения
gnome-remote-desktop-daemon[3006]: [02:29:20:233] [3006:4415] [ПРЕДУПРЕЖДЕНИЕ][com.winpr.negotiate] - AcceptSecurityContext статус SEC_I_CONTINUE_NEEDED [0x00090312]
gnome-remote-desktop-daemon[3006]: [02:29:20:234] [3006:4415] [ПРЕДУПРЕЖДЕНИЕ][com.winpr.negotiate] - AcceptSecurityContext статус SEC_I_COMPLETE_NEEDED [0x00090313]
gnome-remote-desktop-daemon[3006]: [02:29:20:234] [3006:4415] [ОШИБКА][com.winpr.sspi.NTLM] - Проверка целостности сообщения (MIC) не удалась!
gnome-remote-desktop-daemon[3006]: [02:29:20:234] [3006:4415] [ПРЕДУПРЕЖДЕНИЕ][com.winpr.sspi] - CompleteAuthToken статус SEC_E_MESSAGE_ALTERED [0x8009030F]
gnome-remote-desktop-daemon[3006]: [02:29:20:234] [3006:4415] [ПРЕДУПРЕЖДЕНИЕ][com.freerdp.core.nla] - CompleteAuthToken статус SEC_E_MESSAGE_ALTERED [0x8009030F]
gnome-remote-desktop-daemon[3006]: [02:29:20:234] [3006:4415] [ОШИБКА][com.freerdp.core.transport] - ошибка аутентификации клиента
gnome-remote-desktop-daemon[3006]: [02:29:20:234] [3006:4415] [ОШИБКА][com.freerdp.core.peer] - peer_recv_callback: CONNECTION_STATE_INITIAL - rdp_server_accept_nego() не удалась
gnome-remote-desktop-daemon[3006]: [02:29:20:234] [3006:4415] [ОШИБКА][com.freerdp.core.transport] - transport_check_fds: transport->ReceiveCallback() - -1
gnome-remote-de[3006]: Не удалось проверить файловый дескриптор, закрытие соединения
gnome-remote-desktop-daemon[3006]: [02:29:25:263] [3006:4433] [ОШИБКА][com.freerdp.core.transport] - BIO_read вернул системную ошибку 0: Успех

Это с использованием “Имя пользователя” и “Пароль”, сгенерированных на приведенном выше скриншоте.

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

Кто-нибудь знает, что может происходить и вызывать эти сбои?

Обработка аутентификации для g-r-d происходит в FreeRDP, так как обработка NLA реализована там.
NLA имеет двух возможных провайдеров: NTLM и Kerberos. Только первый реализован в FreeRDP 2.x.

NTLM использует хэши NTLM под капотом, и в FreeRDP 2.x произошла ошибка при создании хэша, что неверный хэш вычислялся, когда пароль содержал не-ASCII символы.
Это было исправлено в https://github.com/FreeRDP/FreeRDP/commit/a23a24fe068c37d20c254fe393d4fe5d4c6ab31d (на самом деле трудно найти такие ошибки в проекте, когда репортеры не предоставляют шаги для воспроизведения, поэтому эта проблема была обнаружена случайно (см. https://github.com/FreeRDP/FreeRDP/issues/8599 для подробностей)).
Этот коммит является частью релиза FreeRDP 2.10.0.

Не могли бы вы попробовать собрать FreeRDP из ветки stable-2.0 или, альтернативно, против тега 2.10.0, а затем снова попробовать подключиться?

Обновление FreeRDP 2.10.0 не будет включено в Ubuntu 22.04, так как команда SRU Ubuntu отказывается включать стабильные обновления FreeRDP (это было запрашивалось командой Ubuntu Desktop несколько раз, также и для более старых обновлений, таких как 2.7.0 и 2.8.0 обновление).

Не уверен, связано ли ваша проблема с моей: мой клиент Remmina (на Ubuntu 22.04) сразу же вылетал при подключении к “Общему экрану” (на Ubuntu 22.04), где RDP теперь является протоколом общего доступа к экрану по умолчанию.

Это происходило только после ввода действительного пароля.

Мое решение: изменить “дисплейный сервер” как клиента, так и хоста общего доступа к экрану с Wayland на Xorg… смотрите это:

Как переключиться с дисплейного сервера Wayland на Xorg X11 на Ubuntu 22.04

Бонус: это также исправило мои проблемы с перетаскиванием, которые я испытывал, когда пытался перетащить файл из zip-архива с помощью Архиватора.

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

Основная проблема, с которой вы столкнулись при попытке подключения к удаленному рабочему столу через gnome-remote-desktop на Ubuntu 22.04, связана с аутентификацией через протокол NLA (Network Level Authentication) с использованием NTLM в пакете FreeRDP. Ошибка, которую вы наблюдаете, "Couldn’t retrieve RDP username: Credentials not set", указывает на то, что учетные данные не были установлены должным образом, что делает невозможным получение имени пользователя для дальнейших попыток подключения.

Возможные решения

  1. Проверка учетных данных:
    Убедитесь, что вы правильно настроили учетные данные для удаленного доступа. Для этого:

    • Откройте настройки системы и перейдите в раздел НастройкиОбщий доступУдаленный рабочий стол.
    • Убедитесь, что вы указали имя пользователя и пароль. Если ваш пароль содержит не-ASCII символы, это может вызвать проблемы из-за неправильного создания хэша NTLM.
  2. Обновление FreeRDP:
    Версия FreeRDP, входящая в стандартные репозитории Ubuntu 22.04, может быть устаревшей и содержать известные ошибки. Вы можете попробовать обновить FreeRDP до более новой версии, которая содержит исправления для проблем с аутентификацией. Настоятельно рекомендуется использовать версию 2.10.0 или выше. Вы можете собрать FreeRDP с официального репозитория или установить его из PPA, если таковой имеется.

    Чтобы собрать FreeRDP, выполните следующие команды:

    sudo apt update
    sudo apt install build-essential cmake git
    git clone https://github.com/FreeRDP/FreeRDP.git
    cd FreeRDP
    git checkout stable-2.0  # Или 2.10.0
    mkdir build && cd build
    cmake ..
    make
    sudo make install
  3. Переключение на Xorg:
    Если вы используете Wayland, попробуйте переключиться на Xorg. Некоторые проблемы, такие как сбои клиента Remmina, могут быть вызваны конфликтами с Wayland. Чтобы перейти на Xorg, выполните следующие действия:

    • Выйдите из текущего сеанса.
    • На экране входа выберите значок шестеренки и выберите Ubuntu на Xorg.
    • Войдите в систему и попробуйте снова подключиться к удаленному рабочему столу.
  4. Проверка системных журналов:
    Внимательно изучите системные журналы, такие как /var/log/syslog, на наличие дополнительных ошибок, которые могут указать на более глубокие проблемы с сетью или конфигурацией RDP.

Заключение

Если ни одно из вышеуказанных решений не помогает, попробуйте обратиться на форум сообщества Ubuntu или FreeRDP с детальным описанием вашей проблемы и всеми шагами, которые вы предприняли. Это поможет другим пользователям найти и предложить более специфические решения.

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

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