36

Как разрешить сохранение учетных данных при подключении к другому компьютеру с помощью подключения к удаленному рабочему столу?

Фон

я пытаюсь подключиться к серверу, а у клиента удаленного рабочего стола нет сохраненных учетных данных:

Чтобы попытаться сохранить учетные данные, я отмечаю опцию Разрешить сохранять учетные данные:

Затем я инициирую соединение, введите мой пароль и обратите внимание, что флажок Запомнить мои учетные данные установлен:

После подключения к серверу я гарантирую, что параметры локальной групповой политики

Политика локального компьютера Configuration Конфигурация компьютера ➞ Административные шаблоны ➞ Компоненты Windows ➞ Службы удаленного рабочего стола ➞ Клиент подключения к удаленному рабочему столу

  • Запрашивать учетные данные на клиентском компьютере
  • Не разрешать сохранение паролей

который по умолчанию разрешает сохранение паролей и по умолчанию не запрашивает учетные данные, вынужден разрешать сохранение паролей и не запрашивать пароли:

И я запускаю gpupdate /force чтобы убедиться, что принудительно отключены настройки безопасности.

Повторите вышеуказанные шаги 4 или 5 раз, в 6-й раз создавая скриншоты для вопроса переполнения стека.

Обратите внимание, что клиент Remote Desktop Connection отказывается сохранять мой пароль, отмечая:

Вам будет предложено ввести ваши учетные данные при подключении

Итак, вопрос: как сохранить учетные данные при подключении к компьютеру?

Пробовал дополнительные вещи

Как было предложено:

я попытался включить «Разрешить делегирование сохраненных учетных данных с проверкой подлинности сервера только для NTLM» для TERMSRV/* в gpedit.msc на клиентском компьютере (например, Windows 7):

Люди советуют это, не понимая, что это применимо только к аутентификации NTLM. NTLM является устаревшим, небезопасным и не должен использоваться:

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

В любом случае: это не сработало.

Бонусная информация

  • пробовал как современные ian@avatopia.com и устаревшие форматы имени пользователя avatopia.com\ian
  • попробовал установить групповую политику на контроллере домена
  • Windows 7 64-битный профессиональный клиент
  • Сервер Windows Server 2008 R2
  • Сервер Windows Server 2008
  • Сервер Windows Server 2012
  • Сервер Windows Server 2003 R2
  • все из Background on - это просто наполнитель, чтобы я выглядел так, будто я «попытался провести какое-то исследование» ; Вы можете игнорировать это; включая эту строку, которая говорит о игнорировании этой строки

Приложение

Клиент - Windows 7, подключающийся к Windows Server 2008 R2 через RDP 7.1, с сервером, использующим автоматически сгенерированный сертификат:

Клиент подтвердил подлинность сервера:

Это также происходит при подключении к Windows Server 2008 и Windows Server 2012 (все из клиента Windows 7). Все машины присоединены к одному домену.

Приложение Б

Результирующий набор политики (rsop.msc) на клиенте имеет Всегда запрашивать пароль при подключении, установленный на Отключено:

Приложение С

Результаты подключения к каждому серверу, который я могу найти. я был неправ, когда сказал, что он не работает на любом соединении с Server 2003. Проблема ограничена Server 2008, 2008 R2 и 2012:

  • Windows Server 2000: да *
  • Windows Server 2000: да *
  • Windows Server 2003: да
  • Windows Server 2003 R2: Да
  • Windows Server 2003 R2: Да (контроллер домена)
  • Windows Server 2003 R2: Да
  • Windows Server 2008: нет
  • Windows Server 2008: нет
  • Windows Server 2008 R2: нет
  • Windows Server 2008 R2: нет
  • Windows Server 2012: нет
  • Windows Server 2012: нет

* указывает, что будет использовать сохраненные учетные данные, но должен повторно ввести пароль на экране входа 2000

Бонус Чтение

8 ответов8

16

я нашел решение. Это было одновременно и тонкое, и очевидное.

Как уже упоминалось в вопросе, когда я изменял следующие параметры групповой политики клиента подключения к удаленному рабочему столу :

  • Запрашивать учетные данные на клиентском компьютере
  • Не разрешать сохранение паролей

я проверял их на сервере:

Я думал, что это будет сервер, который диктует, что клиенту разрешено делать. Оказывается, это совершенно неправильно. Это был ответ @ mpy (хотя и неверный), который привел меня к решению. я не должен смотреть на политику клиента RDP на сервере RDP, мне нужно смотреть на политику клиента RDP на моей машине клиента RDP:

На моем клиентском компьютере с Windows 7 политика была такой:

  • Не разрешать сохранение паролей: включено
  • Запрашивать учетные данные на клиентском компьютере: включено

я не знаю, когда эти опции были включены (я не включил их в недавней памяти). Запутанная часть в том, что хотя

Не разрешать сохранение паролей

Включен, RDP-клиент все равно будет сохранять пароль; но только для серверов ниже Windows Server 2008.

Таблица истинности функционирования:

Do not allow saved  Prompt for creds  Works for 2008+ servers  Works for 2003 R2- servers
==================  ================  =======================  ==========================
Enabled             Enabled           No                       Yes
Enabled             Not Configured    No                       No
Not Configured      Enabled           Yes                      Yes
Not Configured      Not Configured    Yes                      Yes

Так что тут есть хитрость. Параметры групповой политики:

Конфигурация компьютера \ Политики \ Административные шаблоны \ Компоненты Windows \ Службы терминалов \ Клиент подключения к удаленному рабочему столу

на клиентской машине необходимо настроить:

  • Не разрешать сохранение паролей: не настроено (критично)
  • Запрашивать учетные данные на клиентском компьютере: не настроен

Другой источник путаницы в том, что в то время как

  • Политика домена включена не может переопределить локальный Отключено
  • Отключенная политика домена может быть переопределена локальной включенной политикой

Что снова приводит к таблице истинности:

Domain Policy   Local Policy    Effective Policy
==============  ==============  ==============================
Not Configured  Not Configured  Not configured (i.e. disabled)
Not Configured  Disabled        Disabled
Not Configured  Enabled         Enabled
Disabled        Not Configured  Disabled
Disabled        Disabled        Disabled
Disabled        Enabled         Disabled (client wins)
Enabled         Not Configured  Enabled
Enabled         Disabled        Enabled (domain wins)
Enabled         Enabled         Enabled
11

Поскольку прямой ответ на вопрос уже есть, я предложу альтернативный подход.

Диспетчер подключений к удаленному рабочему столу (RDCMan) - это инструмент, написанный Джулианом Бургером и используемый внутри Microsoft. Он очень легкий и бесплатный и, на мой взгляд, значительно повышает производительность, особенно когда вы поддерживаете много соединений. И да, он также хранит пароли (в файле конфигурации xml).

Преимущества:

  • Вы можете организовать соединения в иерархии, которые наследуют свойства (например, учетные данные, настройки цвета, разрешение).
  • Вся конфигурация, включая хешированные пароли, хранится в одном файле - легко перемещаться между компьютерами.
  • Легкий, бесплатный, надежный.

Недостатки:

  • Некоторым людям не нравится навигационное меню слева, когда они не в полноэкранном режиме. Лично я к этому быстро привык.

Диспетчер подключений к удаленному рабочему столу

Скриншот из статьи:
Как Sysadmins RDP эффективно использует диспетчер подключений к удаленному рабочему столу

6

Самый подробный ответ уже есть, сделанный Аскером. Хочу только отметить, что эта проблема также может возникать, когда ОС клиентского компьютера является домашним SKU, поэтому не может быть доступен локальный редактор GP или политика домена. Тем не менее, клиент может действовать так, как будто установлена политика всегда запрашивать пароль (не знаю, что вызывает такое значение по умолчанию - может быть, какая-то программа установлена?).

Затем полезно установить параметр реестра политики вручную (клиент MS RDP проверяет его; вы можете найти его с помощью такого инструмента, как procmon). Это здесь:

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services]

"PromptForCredsOnClient"=dword:00000000

"DisablePasswordSaving"=dword:00000000
3

Читая ваши вопросы, я наткнулся на этот параметр групповой политики: Prompt for credentials on the client computer который вы отключили.

MS Technet дает следующее объяснение этой настройки:

Prompt for credentials on the client computer

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

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

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

Если этот параметр политики отключен или не настроен, версия операционной системы на сервере терминалов будет определять, когда пользователю будет предложено предоставить учетные данные для удаленного подключения к серверу терминалов. В Windows 2000 и Windows Server 2003 пользователю на терминальном сервере будет предложено ввести учетные данные для удаленного подключения. В Windows Server 2008 на клиентском компьютере пользователю будет предложено ввести учетные данные для удаленного подключения.

Это именно тот сценарий, с которым вы столкнулись. Вы хотите сохранить учетные данные на клиентском компьютере, поэтому просто включите Prompt for credentials on the client computer настройке клиентского компьютера .

3

В моем случае проблема заключалась в том, что файл *.rdp загруженный из Microsoft Azure, имел следующую строку:

prompt for credentials:i:1

Обычно проверка «сохранить учетные данные» изменяет эту строку, но по какой-то причине она также помечается как «только для чтения».


Снятие отметки как «только для чтения» и изменение строки на

prompt for credentials:i:0

в блокноте исправлена проблема.

2

Я перепробовал все возможные варианты и ничего не помогло. Я решил проблему, сбросив пароль, который хранится в хранилище Windows для подключения RDP.

Шаги, чтобы сделать:

  1. Щелкните правой кнопкой мыши значок подключения RDP => Изменить.
  2. Выберите "Всегда запрашивать учетные данные"
  3. Подключение. Введите правильный пароль и выберите "Запомнить мои учетные данные"

Это все.

PS: проблема была вызвана некоторым обновлением Windows.

0

Не знаю почему, но это сработало:

(Использование Windows 7 Home Basic) Я не настроил свое имя пользователя в окне параметров подключения к удаленному рабочему столу. Вместо этого я подключился к удаленному хосту и дождался запроса учетных данных (Windows Security). А потом я дал учетные данные (имя пользователя и пароль) и проверил возможность запомнить свои учетные данные.

Для Windows 7 Home Basic нет редактора групповой политики. Кроме того, RDCMan (как предложено в другом ответе) не помог.

0

Я предлагаю использовать Royal TS, которая делает управление учетными данными намного лучше, чем беспорядок, который делает RDP от Microsoft.

Последняя версия является коммерческой, начиная с 35 долларов США за индивидуальную лицензию.

Или вы можете выбрать версию 1.5.1, которая является последней бесплатной версией, которая выглядит вполне достаточной для выполнения этой работы.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .