Сохранение учетных данных windows

Включаем сохранение учетных данных при удаленном подключении в Windows

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

При совершении подключения к удаленному компьютеру есть возможность сохранить пароль от своей учетной записи. Это удобно при частых подключениях и если Вы уверены, что это никак не скажется на безопасности. Однако не исключено, что Вы встретите и вот такое сообщение: Системный администратор запретил использовать сохраненные учетные данные для входа в систему удаленного компьютера, так как его подлинность проверена не полностью. Исправим это досадное недоразумение.

Непосредственно ошибка.

Причина ошибки кроется в том, что по умолчанию сохранение учетных данных запрещено локальной групповой политикой. Для редактирования данной политики нажимаем Пуск → Выполнить и вводим gpedit.msc. Откроется редактор локальных групповых политик.

Нам нужно перейти в ветку Конфигурация компьютера → Административные шаблоны → Система → Передача учетных данных и найти пункт Разрешить делегирование сохраненных учетных данных с проверкой подлинности сервера «только NTLM».

Зайдя в политику, поставьте переключатель в положение Включить и нажмите кнопку Показать возле Добавить серверы в список.

В открывшемся окне надо вручную добавить компьютеры, к которым Вы хотите подключаться с сохранением пароля. Синтаксис имеет следующий вид:

TERMSRV/[имя или адрес удаленного компьютера] — сохраняет учетные данные при подключении к конкретному компьютеру;

TERMSRV/*.domain.com — сохраняет учетные данные при подключении к компьютерам в домене domain.com;

TERMSRV/* — сохраняет учетных данные при любом подключении.

TERMSRV в данном случае должно быть написано именно заглавными буквами. После сохранения внесенных изменений можно форсировать применение новой политики командой gpupdate /force. После этого система начнет запоминать Ваши учетные данные при RDP-подключении.

Не сохраняются пароли для RDP подключений

Встроенный RDP клиент Windows (mstsc.exe) позволяет сохранить на компьютере имя и пароль пользователя, который использовался для подключения. Благодаря этому пользователю не нужно каждый раз вводить пароль для подключения к удаленному RDP компьютеру/серверу. В этой статье мы рассмотрим, как настроить возможность сохранения учетных данных для RDP подключения в Windows 10 / Windows Server 2012 R2/2016 и что делать, если несмотря на все настройки, у пользователей не сохранятся пароли для RDP подключения (пароль запрашивается каждый раз)

Настройки сохранения пароля для RDP подключения

По умолчанию Windows разрешает пользователям сохранять пароли для RDP подключений. Для этого в окне клиента RDP (mstsc) пользователь должен ввести имя удаленного RDP компьютера, учетную запись и поставить галку “Разрешить мне сохранять учетные данные” (Allow me to save credential). После того, как пользователь нажимает кнопку “Подключить”, RDP сервер запрашивает пароль и компьютер сохраняет его в Windows Credential Manager (не в .RDP файл).

В результате при следующем подключении к удаленному RDP серверу под этим же пользователь, пароль автоматически берется из Credential Manager и используется для RDP-авторизации.

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

Если вы подключаетесь с компьютера, включенного в домен, к компьютеру/серверу, который находится в другом домене или рабочей группе, по-умолчанию Windows не разрешает пользователю использовать сохраненный пароль RDP подключения. Несмотря на то, что пароль для подключения сохранен в Credentials Manager, система не позволяет его использовать, каждый раз требуя от пользователя вводить пароль. Также Windows не разрешает использовать сохраненный пароль для RDP, если вы подключаетесь не под доменной, а под локальной учетной записью.

Читайте также:  Перезагрузка компьютера через командную строку linux

При попытке 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):

Windows считает такое подключение небезопасным, т.к. отсутствуют доверительные отношения между этим компьютером и удаленным компьютером/сервером в другом домене (или рабочей группе).

Вы можете изменить эти настройки на компьютере, с которого выполняется RDP подключение:

    1. Откройте редактор локальной GPO, нажав Win + R ->gpedit.msc ;
    2. В редакторе GPO перейдите в раздел Computer Configuration –> Administrative Templates –> System –> Credentials Delegation (Конфигурация компьютера -> Административные шаблоны -> Система -> Передача учетных данных). Найдите политику с именем Allow delegating saved credentials with NTLM-only server authentication (Разрешить делегирование сохраненных учетных данных с проверкой подлинности сервера только NTLM);
    3. Дважды щелкните по политике. Включите политику (Enable) и нажмите на кнопку Показать (Show);
    4. В открывшемся окне нужно будет указать список удаленных компьютеров (серверов), для которых будет разрешено использовать сохранные пароли для RDP подключения.Список удаленных компьютеров нужно указать в следующих форматах:
      • TERMSRV/server1 — разрешить использование сохранённых паролей для RDP подключения к одному конкретному компьютеру/серверу;
      • TERMSRV/*.winitpro.ru — разрешить RDP подключение ко всем компьютерам в домене winitpro.ru;
      • TERMSRV/* — разрешить использование сохранённого пароля для подключения к любым компьютерам.

    Теперь при выполнении RDP подключения клиент mstsc сможет использовать сохранённый пароль.

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

    Что делать, если в Windows не сохраняется пароль для RDP подключения?

    Если вы настроили Windows по инструкции выше, но клиент все равно при каждом повторном RDP подключении требует ввести пароль следует проверить следующее:

    1. В окне RDP подключения нажмите на кнопку “Показать параметры” и убедитесь, что опция “Всегда запрашивать учетные данные” (Always ask for credentials) не выбрана;
    2. Если вы используете для подключения сохранённый RDP файл, проверьте, что параметр “prompt for credentials” равен 0 ( prompt for credentials:i:0 );
    3. Откройте редактор GPO gpedit.msc, перейдите в раздел Конфигурация компьютера -> Компоненты Windows -> Службы удаленных рабочих столов -> Клиент подключения к удаленному рабочему столу (Computer Configuration -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Connection Client). Параметр “Запретить сохранение паролей” (Do not allow passwords to be saved) должен быть не задан или отключен. Также убедитесь, что он отключен в результирующей политике на вашем компьютере (html отчет с применёнными настройками доменных политик можно сформировать с помощью gpresult);
    4. Удалите все сохраненные пароли в менеджере паролей Windows (Credential Manager). Наберите control userpasswords2 и в окне “Учетные записи пользователей” перейдите на вкладку “Дополнительно” и нажмите на кнопку “Управление паролями”; В открывшемся окне выберите “Учетные данные Windows”. Найдите и удалите все сохраненные RDP пароли (начинаются с TERMSRV/…).

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

Хранилище учетных данных Credential locker

В этой статье описано, как приложения универсальной платформы Windows (UWP) могут использовать хранилище учетных данных для безопасного хранения и получения учетных данных пользователя и их перемещения между устройствами с помощью учетной записи Майкрософт пользователя. This article describes how Universal Windows Platform (UWP) apps can use the Credential Locker to securely store and retrieve user credentials, and roam them between devices with the user’s Microsoft account.

Предположим, ваше приложение подключается к некоторой службе для получения доступа к защищенным ресурсам (например, файлам мультимедиа, социальным сетям и т. д.). For example, you have an app that connects to a service to access protected resources such as media files, or social networking. Эта служба запрашивает учетные данные пользователя. Your service requires login information for each user. Вы добавили в приложение элементы управления для ввода имени и пароля пользователя, которые затем используются для входа в службу. You’ve built UI into your app that gets the username and password for the user, which is then used to log the user into the service. С помощью API хранилища учетных данных вы сможете сохранить имя и пароль пользователя, а затем, при следующем запуске приложения, извлечь их, чтобы автоматически выполнить вход для пользователя независимо от устройства. Using the Credential Locker API, you can store the username and password for your user and easily retrieve them and log the user in automatically the next time they open your app, regardless of what device they’re on.

Срок действия пользовательских учетных данных, сохраненных в CredentialLocker, не истекает, на них не влияет ApplicationData.RoamingStorageQuota, и они не будут удалены из-за неактивности, как традиционные перемещаемые данные. User credentials stored in the CredentialLocker do not expire, are not affected by the ApplicationData.RoamingStorageQuota, and will not be cleared out due to inactivity like traditional roaming data. Однако в CredentialLocker можно сохранить не более 20 учетных данных на приложение. However, you can only store up to 20 credentials per app in the CredentialLocker.

Работа хранилища учетных данных немного отличается для учетных записей домена. Credential locker works a little differently for domain accounts. Если учетную запись Майкрософт, с которой связаны учетные данные пользователя, связать с учетной записью домена (которая, например, используется на работе), то учетные данные пользователя будут перемещены в эту учетную запись домена. If there are credentials stored with your Microsoft account, and you associate that account with a domain account (such as the account that you use at work), your credentials will roam to that domain account. Однако новые учетные данные, добавленные при входе с учетной записью домена, не будут перемещаться. However, any new credentials added when signed on with the domain account won’t roam. Это делается для того, чтобы частные учетные данные в домене не были доступны из-за пределов домена. This ensures that private credentials for the domain aren’t exposed outside of the domain.

Сохранение учетных данных пользователя Storing user credentials

  1. Получите ссылку на хранилище учетных данных с помощью объекта PasswordVault из пространства имен Windows.Security.Credentials. Obtain a reference to the Credential Locker using the PasswordVault object from the Windows.Security.Credentials namespace.
  2. Создайте объект PasswordCredential, содержащий идентификатор приложения, имя и пароль пользователя, и передайте этот объект в качестве входного параметра в метод PasswordVault.Add, после чего учетные данные будут добавлены в хранилище. Create a PasswordCredential object that contains an identifier for your app, the username and the password, and pass that to the PasswordVault.Add method to add the credential to the locker.

Получение учетных данных пользователя Retrieving user credentials

После получения ссылки на объект PasswordVault будет доступно несколько вариантов получения учетных данных пользователя из хранилища учетных данных. You have several options for retrieving user credentials from the Credential Locker after you have a reference to the PasswordVault object.

С помощью метода PasswordVault.RetrieveAll можно получить из хранилища все учетные данные, введенные пользователем в приложении. You can retrieve all the credentials the user has supplied for your app in the locker with the PasswordVault.RetrieveAll method.

Если известно имя пользователя сохраненных учетных данных, то с помощью метода PasswordVault.FindAllByUserName можно получить все учетные данные для этого имени пользователя. If you know the username for the stored credentials, you can retrieve all the credentials for that username with the PasswordVault.FindAllByUserName method.

Если известно имя ресурса из сохраненных учетных данных, то с помощью метода PasswordVault.FindAllByResource можно получить все учетные данные для этого имени ресурса. If you know the resource name for the stored credentials, you can retrieve all the credentials for that resource name with the PasswordVault.FindAllByResource method.

Наконец, если известны имя пользователя и имя ресурса для учетных данных, то эти учетные данные можно получить с помощью метода PasswordVault.Retrieve. Finally, if you know both the username and the resource name for a credential, you can retrieve just that credential with the PasswordVault.Retrieve method.

Рассмотрим следующий пример. Мы глобально сохранили имя ресурса в приложении и автоматически выполняем вход для пользователя, если находим его учетные данные. Let’s look at an example where we have stored the resource name globally in an app and we log the user on automatically if we find a credential for them. Если для одного пользователя находится несколько учетных данных, мы предлагаем ему выбрать учетные данные, которые по умолчанию будут использоваться для входа. If we find multiple credentials for the same user, we ask the user to select a default credential to use when logging on.

Удаление учетных данных пользователя Deleting user credentials

Удаление учетных данных пользователя из хранилища учетных данных также требует всего двух действий. Deleting user credentials in the Credential Locker is also a quick, two-step process.

Получите ссылку на хранилище учетных данных с помощью объекта PasswordVault из пространства имен Windows.Security.Credentials. Obtain a reference to the Credential Locker using the PasswordVault object from the Windows.Security.Credentials namespace.

Передайте учетные данные, которые следует удалить, в метод PasswordVault.Remove. Pass the credential you want to delete to the PasswordVault.Remove method.

Рекомендации Best practices

Хранилище учетных данных предназначено только для паролей. Его не следует использовать для больших двоичных объектов. Only use the credential locker for passwords and not for larger data blobs.

Сохраняйте пароли в хранилище учетных данных только в том случае, если: Save passwords in the credential locker only if the following criteria are met:

  • пользователь успешно выполнил вход; The user has successfully signed in.
  • пользователь дал согласие на сохранение паролей. The user has opted to save passwords.

Не храните учетные данные в виде обычного текста с помощью данных приложения или параметров перемещения. Never store credentials in plain-text using app data or roaming settings.

Читайте также:  Лагает панель задач windows 10
Оцените статью