Встроенный 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
Или (в русской редакции 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/*.winitpro.ru
— разрешить RDP подключение ко всем компьютерам в домене winitpro.ru; -
TERMSRV/*
— разрешить использование сохранённого пароля для подключения к любым компьютерам.
Примечание. TERMSRV нужно обязательно писать в верхнем регистре, а имя компьютера должно полностью соответствовать тому, которое вы указываете в поле подключения RDP клиента. -
- Аналогичным образом включите и добавьте ваши значения TERMSRV/ в параметр Allow Delegating Saved Credentials (“Разрешить передачу сохранённых учетных данных”);Этим настройкам GPO соответствуют следующие параметры реестра:
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\CredentialsDelegation] "AllowSavedCredentialsWhenNTLMOnly"=dword:00000001 “AllowSavedCredentials”=dword:00000001 [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\CredentialsDelegation\AllowSavedCredentialsWhenNTLMOnly] "1"="TERMSRV/*" [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\CredentialsDelegation\AllowSavedCredentials] "1"="TERMSRV/*" [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Policies\Microsoft\Windows\CredentialsDelegation] “AllowSavedCredentialsWhenNTLMOnly”=dword:00000001 “AllowSavedCredentials”=dword:00000001 [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Policies\Microsoft\Windows\CredentialsDelegation\AllowSavedCredentialsWhenNTLMOnly] "1"="TERMSRV/*" [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Policies\Microsoft\Windows\CredentialsDelegation\AllowSavedCredentials] "1"="TERMSRV/*"
- Проверьте, что политика 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. To save credentials in this vault, check your computer configuration.Error code: 0x80070520 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 сервера (компьютера) нужно указывать в формате TERMSRV\server_name1. При очистке истории RDP подключений на компьютере, не забывайте удалять сохраненные пароли. - Вход с сохраненным паролем также не будет работать, если удаленный RDP сервер давно не обновлялся и при подключении к нему появляется ошибка CredSSP encryption oracle remediation.
После этого, пользователи смогут использовать свои сохраненные пароли для rdp подключений.
Политика проверки подлинности сервере не допускает подключение сохраненными учетными данными
При подключении к RDP хосту или ферме RDS с помощью сохраненного пароля может появится ошибка:
Windows Security Your credentials did not work 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 "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v fPromptForPassword /t REG_DWORD /d 0 /f
Credential Guard в Защитнике Windows не разрешает использовать сохраненные учетные данные
После обновления до Windows 11 22H2 пользователи стали жаловаться, что теперь они не могут использовать сохраненные пароли для RDP подключений:
Windows Security: Your credentials did not work 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:\System\CurrentControlSet\Control\LSA" -Name "LsaCfgFlags" -PropertyType "DWORD" -Value 0 -Force
«TERMRSV\server_name1″ — очепятка в конце 4го пункта и на скриншоте.
Принято, thanks!
Как поступить с win7 starter? там нет gpedit.msc, и даже если интегрировать, отсутствуют многие поля в gpo
Все настройки в редакторе групповых политик соотвествуют различным ключам реестра. По сути gpedit вносит изменения в реестр.
Вы можете найти соотствие между политиками и параметрами реестра в специальном xlsx документе Microsoft (Group Policy Settings Reference Spreadsheet). И если вам нужно отредактировать какую-то политику, смотрите в документе что нужно сделать в regedit.
Либо попробуйте утилиту Policy Plus — https://winitpro.ru/index.php/2015/10/02/redaktor-gruppovyx-politik-dlya-windows-10-home-edition/#h2_3
У вас неточность. Вместо
Конфигурация компьютера -> Компоненты Windows
Надо
Конфигурация компьютера -> Административные шаблоны -> Компоненты Windows
И еще опечатка. Вместо
TERMSRV\server_name1
Должно быть
TERMSRV/server_name1
И на скриншоте так-же
В политике действительно нужно использовать формат
TERMSRV/*
Поправил. Спасибо!
Ошиба в п. 2.
Разрешить делегирование сохраненных учетных данных с проверкой подлинности сервера только NTLM
В тексте неправильно, а правильно на скрине.
Спасибо! Столько лет мучился из блокнотиков вставлял пароли, теперь как белый человек))))
После сбоя на сервере, при подключении через RDP у пользователя просит и логин и пароль, хотя логин забит в настройках подключения. Как победить эту проблему?
Сервер: Server 2012 R2
Клиенты: разные версии Windows, от 7 хомки до 10 прошки
Какого рода сбой? переставляли сервера, из бэкапа поднимали? имя сменилось?
Удалите сохранённые пароли и по этой инструкции с самого начала
Подскажите как быть в случае с RDS фермой? у меня есть 3 сервера(TS1 TS2 TS3) и один днс RR (RDS.FARM.LOCAL). На сервера передает учетные данные (сделал по инструкции), а если подключаться по имени днс то все равно пишет что системный администратор запретил использовать передачу учетных данных
upd: разобрался, оказывается дело было в корневой политике домена запрещено (которая стояла надо OU)
Спасибо за помощь!
Добрый день.
Возможно ли сохранить пароль при подключении через RDGW шлюз с компьютера не в домене?
На доменных компьютерах пароль для rdgw удается сохранить?
Как выглядит сохраненный пароль в Credential Manager?
На доменных компютерах тоже самое.
Там просто даже нет галочки «Сохранить пароль»
список сохраненных паролей для RDP хостов можно вывести с помощью cmdkey :
cmdkey /list ^| findstr "target=TERMSRV
вот так можно очистить записи в credential manager
For /F "tokens=1,2 delims= " %G in ('cmdkey /list ^| findstr "target=TERMSRV"') do cmdkey /delete %H
Столкнулся с обратной проблемой.
Есть задача отключить пользователям возможность подключаться к серверу терминалов (WS 2022) с сохраненным паролем. Сервер в домене. Политика «Всегда запрашивать учетные данные» включена и работает. При подключении из ОС Windows штатным клиентом 🙂 При подключении из ОС Linux при помощи Remmina сервер пропускает сохраненный пароль и принудительно не требует авторизации ((
На порядка сотни ноутов компании стоит Linux Mint разных версий с разными версиями Remmina и во всех наблюдается идентичная история. Хотелось бы данный вопрос как-то решить но пока не очень понимаю как кроме замены ОС на ноутах что потянет за собой и замену ноутов либо внедерением двухфакторной аутентификации что более реалистично.
Может кто знает все же более простое решение?
Заранее благодарю
Возможности исопльзовать сохраненный пароль настраивается на стороне RDP клиента, а не сервера.
Смотрите документацю по клиенту Remmina или ищите другой клиент, в котором это настраивается.
Вы не правы. Политика «Всегда запрашивать учетные данные» всегда запрашивает пользователя вручную ввести учетные данные не зависимо от того сохранен пароль на стороне клиента или нет если этот клиент Microsoft. С остальными как-то незаладилось похоже. Вцелом включение со стороны сервера уровня безопасности «Согласование» и уровня шифрования «Совместимый с клиентским» позволило обойти эту историю разворачивая окно удаленного сервера до ввода клиентом логина и пароля. Вцелом это не очень гуд с точки зрения безопасности так как по сути доступ к серверу злоумышленник может получить до введения пары логина и пароля и таким образом вместо доменной авторизации попытать счастья со взломом паролей к локальным учеткам но на то есть другие методы защиты а риск утраты сохраненного пароля всё же выше.
Возможно нужно попробовать параметр «Always prompt for password upon connection” в разделе Computer Configuration -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host -> Security. Это как раз параметр на стороне RDP-сервера.
Параметр «всегда запрашивать пароль» работает почему-то только с виндовой версией MSTSC. На андроиде и иосе всё спокойно сохраняется.
Просто хочу сказать СПАСИБО!
Эпизодически раз в несколько лет пытался найти решение этой проблемы, и наконец-то! 🙂
Как же это бесило, вводить пароли каждый раз, когда к машине надо подключиться не по доменному имени в локальной сети, а по IP, и каждый раз приходилось вводить пароль.
Для отключения Credential Guard понадобилось добавить ещё один параметр:
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\DeviceGuard\LsaCfgFlags
Источник: https://learn.microsoft.com/ru-ru/windows/security/identity-protection/credential-guard/credential-guard-manage
Работает только так: (с форума майков)
Я нашел решение, которое не требует изменения реестра или политики для отключения новой защиты учетных данных.
Я просмотрел сохраненные учетные данные TERMSRV, удалил их и повторно добавил с помощью команд cmdkey.
Для отображения сохраненных учетных данных:
cmdkey /list:TERMSRV/*
Чтобы удалить сохраненные учетные данные:
cmdkey /delete:TERMSRV/
Чтобы добавить учетные данные, которые будут работать при включенном CG:
cmdkey /generic:TERMSRV/ /user: /pass:
Я даже смог сохранить пароли для учетных записей Microsoft, которые используют email @address для имен пользователей.
Вся заслуга в этом решении принадлежит пользователю informatik01 на форумах Microsoft
Согласно informatik01, пароли, сохраненные через пользовательский интерфейс, в конечном итоге являются учетными данными типа «Домен» и несовместимы с CG. Пароли, сохраненные с помощью cmdkey / общего флага, заканчиваются как «Общий» тип и работают с включенным CG.
Спасибо тебе добрый человек, способ работает)
Благодарствую! Действительно рабочий вариант! Единственное замечание при добавлении пароля нужно корректно добавить IP или FQDN имя узла: cmdkey /generic:TERMSRV/Servername_or_IP /user:Username /pass:Passw0rd
Спасибо. помогло удаление
Начиная Windows 11 22H2 пароли на всех компьютерах с UEFI+Secure Boot включен Credential Guard. Он защищает сохраненые паролли, ntlm хэши и TGT от доступа сторонних прилжений. Соотвественно блокируется и доступ стандартного RDP клиента.
С помощью GPO можно отключить Credential Guard
ПОлитика Turn on Virtualization Based Security в Computer Configuration > Administrative Templates > System > Device Guard.
Включить политику и изменить Credential Guard Configuration =Disabled
помогло после перезагрузки. спасибо!
Спасибо, Олег! Мне тоже помог только ваш способ, появилась проблема после апгрейда 11 Home до Pro версии, думаю это будет подсказка следубщим читающим)
Чтобы не отключать Credential Guard, можно добавить сохраненный пароль для удаленного RD хоста с помощью cmdkey:
cmdkey /generic:TERMSRV/ /user: /pass:
Сохраненные пароли, добавленные с флагом cmdkey /generic будут работать даже при включенном Credential Guard.
Сработало, большое спасибо!