Встроенный RDP клиент Windows (mstsc.exe) позволяет сохранить на компьютере имя и пароль пользователя для подключения к удаленному рабочему столу. Благодаря этому пользователю не нужно каждый раз вводить пароль для подключения к удаленному RDP компьютеру/серверу. В этой статье мы рассмотрим, как разрешить сохранять учетные данные для RDP подключений в Windows, и что делать, если несмотря на все настройки, у пользователей не сохраняются пароли для RDP подключения (пароль запрашивается каждый раз)
- Как сохранить пароль для RDP подключения в Windows?
- Что делать, если в Windows не сохраняется пароль для RDP подключения?
- Политика проверки подлинности сервере не допускает подключение сохраненными учетными данными
- Credential Guard в Защитнике Windows не разрешает использовать сохраненные учетные данные
Как сохранить пароль для RDP подключения в Windows?
По умолчанию Windows разрешает пользователям сохранять пароли для RDP подключений. Для этого в окне клиента Remote Desktop Connection (mstsc.exe) пользователь должен ввести имя удаленного RDP компьютера, учетную запись и поставить галку “ Разрешить мне сохранять учетные данные ” (Allow me to save credential). После того, как пользователь нажимает кнопку “Подключить”, RDP сервер запрашивает пароль и компьютер сохраняет его в Windows Credential Manager (не в .RDP файл).
При следующем подключении к удаленному RDP серверу под этим же пользователем, клиент автоматически получит сохраненный пароль из менеджера паролей Windows и использует его для RDP-аутентификации.
Если для данного компьютера имеется сохраненный пароль, в окне RDP клиента будет указано:
При подключении к данному компьютеру будут использоваться сохранённые учетные данные. Эти учетные данные можно изменить или удалить.
Saved credentials will be used to connect to this computer. You can edit or delete these credentials.
По умолчанию Windows не разрешает пользователю использовать сохраненный пароль RDP подключения с компьютера, добавленного в домен Active Directory , к компьютеру/серверу, который находится в другом домене или рабочей группе. Несмотря на то, что пароль для подключения сохранен в Credentials Manager, Windows не позволяет его использовать, и требует от пользователя каждый раз вводить пароль. Также Windows не разрешает использовать сохраненный пароль для RDP, если вы подключаетесь не под доменной, а под локальной учетной записью.
При попытке RDP подключения с сохраненным паролем в этой ситуации появляется окно с ошибкой:
Your Credentials did not work
Your system administrator does not allow the use of saved credentials to log on to the remote computer CompName because its identity is not fully verified. Please enter new credentials.
Или (в русской редакции Windows 10):
Системный администратор запретил использовать сохраненные учетные данные для входа в систему удаленного компьютера CompName, так как его подлинность проверена не полностью. Введите новые учетные данные.
Windows считает такое подключение небезопасным, т.к. отсутствуют доверительные отношения между этим компьютером и удаленным компьютером/сервером в другом домене (или рабочей группе).
Вы можете изменить эти настройки на компьютере, с которого выполняется RDP подключение:
- Откройте редактор локальной GPO , нажав Win + R -> gpedit.msc ;
- В редакторе GPO перейдите в раздел Computer Configuration –> Administrative Templates –> System –> Credentials Delegation (Конфигурация компьютера -> Административные шаблоны -> Система -> Передача учетных данных). Найдите политику с именем Allow delegating saved credentials with NTLM-only server authentication (Разрешить передачу сохраненных учетных данных с проверкой подлинности сервера только NTLM);
- Дважды щелкните по политике. Включите политику (Enable) и нажмите на кнопку Показать ( Show) ;
- В открывшемся окне нужно будет указать список удаленных компьютеров (серверов), для которых будет разрешено использовать сохранные пароли для RDP подключения. Список удаленных компьютеров нужно указать в следующих форматах:
-
TERMSRV/server1
— разрешить использование сохранённых паролей для RDP подключения к одному конкретному компьютеру/серверу; -
TERMSRV/*.remontka.com
— разрешить RDP подключение ко всем компьютерам в домене remontka.com; -
TERMSRV/*
— разрешить использование сохранённого пароля для подключения к любым компьютерам.
Примечание. TERMSRV нужно обязательно писать в верхнем регистре, а имя компьютера должно полностью соответствовать тому, которое вы указываете в поле подключения RDP клиента. -
- Аналогичным образом включите и добавьте ваши значения TERMSRV/ в параметр Allow Delegating Saved Credentials (“Разрешить передачу сохранённых учетных данных”);Этим настройкам GPO соответствуют следующие параметры реестра:
Windows Registry Editor Version 5.00_x000D_[HKEY_LOCAL_MACHINESOFTWAREPoliciesMicrosoftWindowsCredentialsDelegation]_x000D_"AllowSavedCredentialsWhenNTLMOnly"=dword:00000001_x000D_“AllowSavedCredentials”=dword:00000001_x000D_[HKEY_LOCAL_MACHINESOFTWAREPoliciesMicrosoftWindowsCredentialsDelegationAllowSavedCredentialsWhenNTLMOnly]_x000D_"1"="TERMSRV/*"_x000D_[HKEY_LOCAL_MACHINESOFTWAREPoliciesMicrosoftWindowsCredentialsDelegationAllowSavedCredentials]_x000D_"1"="TERMSRV/*"_x000D_[HKEY_LOCAL_MACHINESOFTWAREWOW6432NodePoliciesMicrosoftWindowsCredentialsDelegation]_x000D_“AllowSavedCredentialsWhenNTLMOnly”=dword:00000001_x000D_“AllowSavedCredentials”=dword:00000001_x000D_[HKEY_LOCAL_MACHINESOFTWAREWOW6432NodePoliciesMicrosoftWindowsCredentialsDelegationAllowSavedCredentialsWhenNTLMOnly]_x000D_"1"="TERMSRV/*"_x000D_[HKEY_LOCAL_MACHINESOFTWAREWOW6432NodePoliciesMicrosoftWindowsCredentialsDelegationAllowSavedCredentials]_x000D_"1"="TERMSRV/*"_x000D_
- Проверьте, что политика Deny delegating saved credentials / Запретить передачу сохраненных учетных данных отключена (или не настроена). Запретительные политики GPO имеют более высокий приоритет, чем разрешающие;
- Также должен быть отключен параметр Network access: Do not allow storage of passwords and credentials for network authentication (Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options); Если этот параметр включен, то при попытке сохранить пароль в хранилище пользователь получит ошибку:
Credential Manager ErrorUnable to save credentials. _x000D_ To save credentials in this vault, check your computer configuration.Error code: 0x80070520_x000D_Error Message: A specified logon session does not exist. It may already have been terminated.
- Сохраните изменения и обновите групповые политики командой
gpupdate /force
Теперь при выполнении RDP подключения клиент mstsc сможет использовать сохранённый пароль.
Вы можете вывести список сохранённых паролей для RDP подключений с помощью команды:
cmdkey /list ^| findstr "target=TERMSRV"
Чтобы очистить сохраненные пароли подключений, выполните команду:
For /F "tokens=1,2 delims= " %G in ('cmdkey /list ^| findstr "target=TERMSRV"') do cmdkey /delete %H
С помощью локального редактора групповых политик вы сможете переопределить политику только на локальном компьютере. Если вы хотите чтобы политика разрешения использования сохранённых паролей для RDP подключения действовала на множество компьютеров домена, используете доменные политики, которые настраиваются с помощью консоли gpmc.msc .
Что делать, если в Windows не сохраняется пароль для RDP подключения?
Если вы настроили Windows по инструкции выше, но клиент все равно при каждом повторном RDP подключении требует ввести пароль следует проверить следующее:
- В окне RDP подключения нажмите на кнопку “Показать параметры” и убедитесь, что опция “ Всегда запрашивать учетные данные ” (Always ask for credentials) не выбрана;
- Если вы используете для подключения сохранённый RDP файл, проверьте, что параметр “prompt for credentials” равен 0 (
prompt for credentials:i:0
); - Запустите редактор локальной групповой политики
gpedit.msc
, перейдите в раздел Конфигурация компьютера -> Компоненты Windows -> Службы удаленных рабочих столов -> Клиент подключения к удаленному рабочему столу (Computer Configuration -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Connection Client). Параметры “ Запретить сохранение паролей ” (Do not allow passwords to be saved) и Prompt for credentials on the client computer должны быть не заданы или отключены. Также убедитесь, что он отключен в результирующей политике на вашем компьютере (html отчет с применёнными настройками доменных политик можно сформировать с помощью gpresult ); - Удалите все сохраненные пароли в менеджере паролей Windows ( Credential Manager ). Наберите
control userpasswords2
и в окне “Учетные записи пользователей” перейдите на вкладку “Дополнительно” и нажмите на кнопку “Управление паролями”; В открывшемся окне выберите “Учетные данные Windows”. Найдите и удалите все сохраненные RDP пароли (начинаются с TERMSRV/…).Из этого окна вы можете самостоятельно добавить учетных данные для RDP подключений. Обратите внимание, что имя удаленного RDP сервера (компьютера) нужно указывать в формате TERMSRVserver_name1. При очистке истории RDP подключений на компьютере, не забывайте удалять сохраненные пароли. - Вход с сохраненным паролем также не будет работать, если удаленный RDP сервер давно не обновлялся и при подключении к нему появляется ошибка CredSSP encryption oracle remediation .
После этого, пользователи смогут использовать свои сохраненные пароли для rdp подключений.
Политика проверки подлинности сервере не допускает подключение сохраненными учетными данными
При подключении к RDP хосту или ферме RDS с помощью сохраненного пароля может появится ошибка:
Windows Security_x000D_Your credentials did not work_x000D_The server’s authentication policy does not allow connection requests using saved credentials. Please enter new credentials.
Политика проверки подлинности на сервере не допускает запросы на подключение с использованием сохраненных учетных данных.
В этом случае на удаленном сервере нужно отключить параметр “ Always prompt for password upon connection ” в разделе Computer Configuration -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host -> Security.
Если эта политика включена, RDP хост всегда запрашивает у клиента пароль для подключения.
REG add "HKLMSOFTWAREPoliciesMicrosoftWindows NTTerminal Services" /v fPromptForPassword /t REG_DWORD /d 0 /f
Credential Guard в Защитнике Windows не разрешает использовать сохраненные учетные данные
После обновления до Windows 11 22H2 пользователи стали жаловаться, что теперь они не могут использовать сохраненные пароли для RDP подключений:
Windows Security: Your credentials did not work_x000D_Windows Defender Credential Guard does not allow using saved credentials. Please enter your credentials.
Credential Guard в Защитнике Windows не разрешает использовать сохраненные учетные данные.
Представленные еще в Windows 10 1607 компонент Windows Defender Remote Credential Guard должен защищать ваши учетные данные для RDP подключений. В обновлении 22H2 по умолчанию он разрешает использовать сохраненные учетные данные только при использовании Kerberos аутентификации на RDP хосте. Если нельзя использовать Kerberos (контроллер домена не доступен, или вы подключаетесь к хосту в рабочей группе), Remote Credential Guard блокирует аутентификацию с помощью NTLM .
Для решения этой проблемы придется отключить Credential Guard через реестр:
New-ItemProperty -Path "HKLM:SystemCurrentControlSetControlLSA" -Name "LsaCfgFlags" -PropertyType "DWORD" -Value 0 -Force