Add windows key что это

Работа с ключами продукта и активацией

Windows файлы изображений (WIM) могут содержать несколько образов в одном файле. В процессе установки Windows можно выбрать образ для установки, а затем активировать Windows.

Выберите выпуск Windows для установки

Чтобы выбрать выпуск Windows для установки, выполните следующие действия.

Вручную:

  • Установите Windows вручную с носителя без файла ответов. Windows программа установки установит выпуск по умолчанию с установочного носителя.

В автоматической установке:

  • Установите Windows с файлом ответов и включите ключ продукта в параметр автоматической Microsoft-Windows-Setup\UserData\ProductKey\Key установки. Каждый ключ продукта зависит от выпуска Windows. Ввод ключа продукта в этом параметре не активируется Windows.
  • Установите Windows с файлом ответов, а затем вручную введите ключ продукта во время установки Windows. Ключ продукта выбирает выпуск Windows для установки.

Если у вас несколько образов Windows с одинаковым выпуском Windows, хранящимся в одном файле образа Windows (WIM), можно использовать Microsoft-Windows-Setup\ImageInstall\OSImage\InstallFrom\MetaData параметр автоматической установки, чтобы различать их. Необходимо по-прежнему указать ключ продукта с помощью одного из методов, перечисленных в приведенном выше списке.

Сведения об управлении ключами продуктов Windows при изменении образа Windows на более высокий выпуск см. в разделе «Изменение образа Windows на более высокий выпуск с помощью DISM».

Активировать Windows

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

Используйте параметр автоматической Microsoft-Windows-Shell-Setup\ProductKey установки. Вы можете использовать ключ продукта с одним использованием или ключ многопользовательской активации с корпоративной лицензией. Дополнительные сведения см. в руководстве по планированию активации корпоративных лицензий.

Ключ продукта, используемый для активации Windows, должен соответствовать устанавливаемой Windows выпуску. Если вы используете ключ продукта для выбора выпуска Windows, рекомендуется использовать тот же ключ для активации Windows, чтобы устанавливаемые выпуски совпадали с активированным выпуском.

Изготовители оборудования (ИЗГОТОВИТЕЛИ оборудования) могут использовать средства активации, относящиеся к изготовителям оборудования.

Источник

Настройка SSH аутентификации по ключам в Windows

В этой статье мы настроим SSH аутентификацию в Windows по RSA или EdDSA ключам для безопасного доступа к удаленным компьютерам/серверам. Рассмотрим, как сгенерировать открытый и закрытый ключи (сертификаты) в Windows и настроить сервер OpenSSH в Windows 10/11 и Windows Server 2019/2022 для аутентификации по ключам (без паролей).

Аутентификация по SSH ключам широко используется в мире Linux, а в Windows этот функционал появился относительно недавно. Идея заключается в том, что на SSH сервере добавляется открытый ключ клиента и при подключении сервер проверяет наличие соответствующего закрытого ключа у клиента. Таким образом удаленный пользователь может аутентифицироваться в Windows без ввода пароля.

Генерация SSH ключей на клиенте Windows

На клиентском, компьютере, с которого вы будет подключаетесь к удалённому серверу Windows с OpenSSH, вам нужно сгенерировать пару ключей (открытый и закрытый). Закрытый ключ хранится на клиенте (не отдавайте его никому!), а открытый ключ нужно скопировать в файл authorized_keys на SSH сервере. Чтобы сгенерировать SSH ключи на клиенте Windows, вы должны установить клиент OpenSSH.

READ  Как подключить драйвер для сетевого адаптера на компьютер

В Windows 10/11 и Windows Server 2019/2022 клиент OpenSSH устанавливается как отдельный встроенный компонент с помощью PowerShell:

Add-WindowsCapability -Online -Name OpenSSH.Client

Запустите обычную (непривилегированную сессию PowerShell) и сгенерируйте пару ED25519 ключей:

ssh-keygen -t ed25519

Утилита попросит вас указать пароль для защиты закрытого ключа. Если вы укажете пароль, то каждый раз при использовании этого ключа для SSH авторизации, вы должны будете вводить этот пароль. Я не стал указывать пароль для ключа (не рекомендуется).

Утилита ssh-keygen создаст каталог .ssh в профиле текущего пользователя Windows (%USERPROFILE%\.ssh) и сгенерирует 2 файла:

  • id_ed25519 – закрытый ключ (если вы сгенерировали ключ типа RSA, файл будет называться id_rsa )
  • id_ed25519.pub – публичный ключ (аналогичный RSA ключ называется id_rsa.pub )

После того, как ключи созданы, вы можете добавить закрытый ключ в службу SSH Agent, которая позволяет удобно управлять закрытыми ключами и использовать их для аутентификации.

SSH Agent может хранить закрытые ключи и предоставлять их в контексте безопасности текущего пользователя. Запустите службу ssh-agent и настройте автоматический запуск с помощью PowerShell команд управления службами:

Set-service ssh-agent StartupType ‘Automatic’
Start-Service ssh-agent

Добавьте ваш закрытый ключ в базу ssh-agent:


Или так:

Настройка OpenSSH в Windows для авторизации по ключам

SSH сервер (в этом примере это удаленный компьютер с Windows 11 и настроенной службой OpenSSH).

Скопируйте файл id_ed25519.pub в каталог .ssh профиля пользователя, под которым вы будете подключаться к SSH серверу. Например, у меня в Windows 11 создан пользователь user1, значит я должен скопировать ключ в файл C:\Users\user1\.ssh\authorized_keys.

Если каталог .ssh в профиле отсутствует, его нужно создать вручную.

Можно скопировать ключ на SSH сервер с клиента с помощью SCP:

scp C:\Users\youruser\.ssh\id_rsa.pub admin@192.168.1.90:c:\users\user1\.ssh\authorized_keys

По умолчанию в OpenSSH сервере в Windows отключена аутентификация по ключам. Вы можете проверить это в конфигурационном файле sshd_config. Проще всего получить список разрешенных способов аутентификации в OpenSSH с помощью такой PowerShell команды (Select-String используется как аналог grep в PowerShell):

cat «C:\ProgramData\ssh\sshd_config»| Select-String «Authentication»

В этом примере строка PubkeyAuthentication закомментирована, значит этот способ аутентификации отключен.

Откройте файл sshd_config с помощью блокнота, раскоментируйте строку:

Также в конфигурационном файле sshd_config придется отключить режим StrictModes. По умолчанию этот режим включен и запрещает аутентификацию по ключам, если закрытый и открытый ключ недостаточно защищены. Раскомментируйте строку #StrictModes yes , измените на StrictModes no .

Сохраните файл и перезапустите службу sshd:

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

Для подключения через SSH к удаленному хосту используется следующая команда:

ssh (username)@(имя или IP адрес SSH сервера)

Это означает, что вы хотите подключиться к удаленному SSH серверу с адресом 192.168.1.90 под учетной записью admin. Служба SSH Agent автоматически попытается использовать для авторизации сохраненный ранее закрытый ключ.

  • Если вы не хотите использовать ssh-agent для управления ключами, вы можете указать путь к закрытому ключу, который нужно использовать для SSH аутентификации: ssh user1@192.168.14.145 -i «C:\Users\user\.ssh\id_ed25519»
  • Для подключения с помощью учетной записи пользователя из домена Active Directory используется формат: ssh kbuldogov@winitpro.ru@168.1.90 -i

При первом подключении нужно добавить отпечаток ключа SSH сервера в доверенные. Наберите yes -> Enter.

Информацию по аутентификации в Windows с помощью SSH ключей можно найти в журнале события. В современных версиях OpenSSH логи пишутся не в текстовые файлы, а в отдельный журнал Event Viewer (Application and services logs -> OpenSSH -> Operational).

При успешном подключении с помощью ключа в журнале появится событие:

Если вы не смогли подключиться к вашему SSH серверу по RSA ключу, и у вас все равно запрашивается пароль, скорее всего пользователь, под которым вы подключаетесь, входит в группу локальных администраторов сервера (SID группы S-1-5-32-544). Об этом далее.

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

В OpenSSH используются особые настройки доступа по ключам для пользователей с правами локального администратора Windows.

В первую очередь, вместо ключа authorized_keys в профиле пользователя нужно использовать файл с ключами C:\ProgramData\ssh\administrators_authorized_keys. Вам нужно добавить ваш ключ в этот текстовый файл (в целях безопасности права на этот файл должны быть только у группы Administrators и SYSTEM).

Вы можете изменить NTFS права на файл с помощью:

  • утилиты icacls: icacls.exe «C:\ProgramData\ssh\administrators_authorized_keys» /inheritance:r /grant «Administrators:F» /grant «SYSTEM:F
  • или с помощью PowerShell командлетов get-acl и set-acl: get-acl «$env:programdata\ssh\ssh_host_rsa_key» | set-acl «$env:programdata\ssh\administrators_authorized_keys»

После этого SSH аутентификация по ключам работает даже при отключенном режиме StrictModes

alert]Чтобы использовать ключ authorized_keys из профиля пользователя, и не переносить данные открытого ключа в файл administrators_authorized_keys, вы можете закомментировать строку в файле конфигурации OpenSSH (C:\ProgramData\ssh\sshd_config).

Дополнительно в файле sshd_config вы можете запретить SSH подключение по паролю по паролю:

После сохранения изменений в файле sshd_config не забудьте перезапустить службу sshd.

Если вы установили PasswordAuthentication no, и некорректно настроите аутентификацию по ключам, то при подключении по ssh будет появляться ошибка:

Итак, вы настроили SSH аутентификацию в Windows по открытому RSA-ключу (сертификату). Теперь вы можете использовать такой способ аутентификации для безопасного доступа к удаленным северам, автоматического поднятия проброса портов в SSH туннеле, запуска скриптов и других задачах автоматизации.

Спасибо! Первая рабочая статья -_ stackoverflow.com уже весь на эту тему перечитал).

debug1: Found key in C:\\Users\\\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214/.ssh/known_hosts:9
debug2: set_newkeys: mode 1
debug1: rekey after 134217728 blocks
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug2: set_newkeys: mode 0
debug1: rekey after 134217728 blocks
debug2: key: C:\\Users\\\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214/.ssh/id_rsa (000002372A7B17D0), agent
debug2: key: C:\\Users\\\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214/.ssh/id_dsa (0000000000000000)
debug2: key: C:\\Users\\\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214/.ssh/id_ecdsa (0000000000000000)
debug2: key: C:\\Users\\\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214/.ssh/id_ed25519 (0000000000000000)
debug2: key: C:\\Users\\\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214/.ssh/id_xmss (0000000000000000)
debug1: SSH2_MSG_EXT_INFO received
debug1: kex_input_ext_info: server-sig-algs=
debug2: service_accept: ssh-userauth
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,password,keyboard-interactive
debug1: Next authentication method: publickey
debug1: Offering public key: RSA SHA256:5U76PQzmZJ7xce9TDvyt1P/sqNCX/GHOZSLk3TR3x1o C:\\Users\\\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214/.ssh/id_rsa
debug2: we sent a publickey packet, wait for reply
debug1: Authentications that can continue: publickey,password,keyboard-interactive
debug1: Trying private key: C:\\Users\\\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214/.ssh/id_dsa

Можете подсказать что не так?

Какую команду используете для SSH подключения? Ключ добавлен в ssh-agent?
Попробуйте указать путь к вашему файлу с закрытым ключом вручную:
ssh root@192.168.1.90 -i «C:\Users\user1\.ssh\id_rsa»

При генерации ключа не нашел файлы в профиле пользователя. Они были в «C:\Windows\System32»

Скорее всего вы запускали cmd\powershell.exe в режиме administrator, поэтому путь по-умолчанию был c:\windows\system32

А как это работает, если сервер на Linux, а клиент на Windows?

Да, все аналогично. Только в linux другое место хранения ключей (в зависимости от дистрибутива)

Ну наконец то получилось по ssh ключу подключиться. Мне нужно было настроить SFTP на Windows 10. Имеются 3 компа, на первом Windows 10 с openssh server и запущенным процессом sftp-server.exe, на втором компе клиенте тоже Windows 10 установил openssh client, сгенерировал публичный и приватный ключ, публичный скопировал на первый комп с Windows 10 где установлен openssh server, переименовал его из id_rsa.pub в authorized_keys. Затем на втором компе клиенте нужно установить PuTTY Key Generator и сконвертировать приватный ключ id_rsa в id_rsa.ppk это нужно чтобы подключиться по SFTP через WinSCP или FileZilla client к серверу openssh. Проблема была в том что всё равно просил пароль от учётной записи администратора от первого компа на сервере. После того как прописал «PubkeyAuthentication yes» и «PasswordAuthentication no» затем «StrictModes no» и закомментировал «# AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys» стало заходить без пароля. Есть ещё вопрос. Третий комп это ноутбук с Kubuntu, установил FileZilla client, уже имеется каталог по адресу /home/sergei/.ssh/ в этот каталог скопировал файл id_rsa.ppk со второго компа, то есть с Windows 10. При подключении FileZilla client выбираю протокол SFTP всё как положено, указываю файл с приватным ключом /home/sergei/.ssh/id_rsa.ppk и подключаюсь без ввода пароля, всё работает. Но я так понимаю что это неправильно? На Kubuntu тоже надо генерировать ключи приватный и публичный? И где тогда размещать новый публичный ключ на сервере, если на нём уже есть C:\Users\Sergei\.ssh\authorized_keys

В файле authorized_keys можно указывать несколько ключей. Просто скопируйте значение второго ключа с новой строки и сохраните файл.

Всё теперь разобрался, Спасибо.

Модуль OpenSSHUtis установился только так

Install-Module -Name OpenSSHUtils -Force -RequiredVersion 1.0.0.1 -SkipPublisherCheck

Проделал все операции — но всё равно пишет Permission denied (publickey,keyboard-interactive)
Ключ прописал, строки комментировал. Куда ещё посмотреть?:

Обновил статью. Самый простой вариант — посмотрите в сторону директивы StrictModes no
Вы подключаетесь под admin пользователем?

да. В итоге с помощью танцев с бубнами и такой то матери оно завелось. Но к примеру если хочешь посмотреть в AD через ssh ТО нужно всё равно вводить логин и пароль для доступа к домену. Оно не умеет использовать ту же учётную запись с которой заходишь в ssh

Изначально нашел ссылку
https://docs.microsoft.com/en-us/windows-server/administration/openssh/openssh_keymanagement
Не работает — хоть ты тресни) Навозился…
В итоге проблему решило указание имени без домена.
То есть вариант домен\юзер требует пароль.
Указал просто юзер — получилось)

Подскажите пожалуйста, настроил SSH и спокойно подключаюсь через с андроида JuiseSSH , ввожу пару user@имякомпа , ввожу пароль заходит в терминал PowerShell. Но это всё работает лишь на домашнем вайфае, как мне сделать так чтобы я вне своей сети мог подключиться к своему компу?
И ещё когда ввожу root@192. *.*.* (ip адрес своего компа) просит пароль, все свои пароли перепробовал не подключается, где хранится этот пароль не подскажите директорию?
Простите если что не так я только учусь настраивать удалённые подключения (любитель) для своего компа с телефона.

После того как с Juise_SSH подключился root@192.*.*.* попросило подтвердить ключ(pub), подтвердил , но запросило пароль 🙁

Источник

READ  Как сделать чтобы работала передняя панель для наушников windows 10