Использование OpenSSH широко распространено при защищенном доступе к клиентским устройствам по сети.
Цель SSH прямолинейна: надежно инкапсулировать трафик управления между двумя конечными точками, в данном случае используя модель сервер-клиент для аутентификации.
Хотя SSH может быть включен для работы с клиентами, которые присоединены к одному домену, скажем, с использованием учетных данных Active Directory, это невозможно при попытке установить связь с такими устройствами, как сетевые коммутаторы или маршрутизаторы, которые изначально не являются частью какой-либо инфраструктуры домена., Вместо этого эти устройства и клиенты на основе Linux используют пару открытый / закрытый ключ для проверки пользователя, пытающегося подключиться к клиенту, и выполнить аутентификацию перед предоставлением удаленного доступа.
В этой статье мы будем использовать этот вариант использования, так как он часто считается более безопасным способом получения доступа, который беспрепятственно подходит как для Windows, так и для других устройств. Создавая и управляя парами ключей SSH, ИТ-отдел сможет удаленно подключаться к клиентам безопасным способом, обеспечивая при этом конфиденциальность и неприкосновенность для каждого пользователя, используя уникальную пару ключей, привязанную к учетной записи пользователя Windows для безопасного хранения.
Установите модуль OpenSSH (для PowerShell)
1. Войдите на компьютер Windows с учетной записью уровня администратора и запустите PowerShell с правами администратора.
2. Введите следующий командлет для установки модуля OpenSSH. Если это первый раз, когда модуль был устанавливается на устройстве, вам может быть предложено загрузить и установить некоторые дополнительные инструменты. Введите «Y», чтобы разрешить установку инструментов.
Install-Module -Force OpenSSHUtils
3. Затем введите командлет, чтобы запустить службу ssh-agent для безопасного хранения сгенерированных частным образом ключей SSH.
Start-Service ssh-agent
4. Наконец, введите командлет, чтобы запустить службу sshd, которая автоматически сгенерирует первую пару ключей хоста.
Start-Service sshd
Примечание. По умолчанию приложение OpenSSH Server не установлено, поэтому сначала его необходимо установить. Кроме того, служба ssh-agent имеет значение Disabled и должна быть изменена до того, как сработают указанные выше командлеты. Ключи хоста хранятся в каталоге: % HOMEDRIVE% \ ProgramData \ ssh.
Создайте пару ключей пользователя
1. В PowerShell измените каталоги на путь выше, где хранятся ключи SSH, затем введите ниже командлет, чтобы создать пару ключей.
ssh-keygen
2. Чтобы сгенерировать уникальный набор пар ключей и сохранить их, вам будет предложено указать каталог, в котором будет храниться пара ключей, или вы можете нажать клавишу ввода, чтобы выбрать расположение по умолчанию.
3. Затем вам будет предложено выбрать ключевую фразу для шифрования пары ключей. Хотя предоставление ключевой фразы необязательно, настоятельно рекомендуется ввести её, поскольку она служит вторичной цели, действуя как форма двухфакторной аутентификации при использовании пары ключей для установления удаленных соединений.
4. После завершения процесса будут сформированы два файла вместе с отпечатком SHA256, и случайное художественное изображение ключа будет отображаться на экране и должно выглядеть следующим образом:
Надежное копирование открытого ключа
Инструменты OpenSSH включают в себя утилиты SCP и SFTP, чтобы сделать передачу ключей полностью безопасной. Чтобы правильно настроить клиент Windows для аутентификации с помощью ключей SSH, файл открытого ключа (.PUB) должен быть перенесен в каталог .ssh клиентского устройства и сохранен в текстовом файле authorized_keys.
1. Начните процесс, выполнив следующую команду в PowerShell, чтобы создать каталог .ssh в папке профиля пользователя.
ssh username@domain.com mkdir C:\Users\username\.ssh
2. Используя утилиту SCP, введите следующую команду, чтобы безопасно скопировать открытый ключ с сервера на клиентское устройство.
scp C:\Users\username\.ssh\id_rsa.pub username@domain.com:C:\Users\username\.ssh\authorized_keys
3. И наконец, измените ACL в файле authorized_keys на сервере, введя следующую команду.
ssh —% username@domain.com powershell -c $ConfirmPreference = ‘None’; Repair-AuthorizedKeyPermission C:\Users\username\.ssh\authorized_keys