Управление ключами OpenSSH Windows PowerShell

Управление ключами OpenSSH Windows PowerShell

Сначала необходимо установить OpenSSH Server. См. статью о начале работы с OpenSSH

Создание ключей узла

Для открытых ключей действуют определенные требования к ACL, которые в среде Windows соответствуют предоставлению доступа только администраторам и системной учетной записи. При первом использовании sshd будет автоматически создана пара ключей для узла.

По умолчанию служба sshd настроена для запуска вручную. Чтобы запускать ее каждый раз при перезагрузке сервера, выполните следующие команды в командной строке PowerShell с повышенными привилегиями на сервере:

# Set the sshd service to be started automatically
Get-Service -Name sshd | Set-Service -StartupType Automatic

# Now start the sshd service
Start-Service sshd

Так как со службой sshd не связан какой-либо пользователь, ключи узла сохраняются в папке C:\ProgramData\ssh.

Создание ключей пользователя

Чтобы использовать аутентификацию на основе ключей, необходимо заранее создать для клиента одну или несколько пар открытого и закрытого ключей. Программа ssh-keygen.exe используется для создания файлов ключей, при этом вы можете задать алгоритмы DSA, RSA, ECDSA или Ed25519. Если алгоритм не указан, используется RSA. Необходимо использовать надежный алгоритм и соответствующую длину ключа, например Ed25519 в этом примере.

Чтобы создать файлы ключей с помощью алгоритма Ed25519, выполните следующую команду в командной строке PowerShell или в командной строке на клиенте:

ssh-keygen -t ed25519

Эта команда возвращает такие выходные данные (username заменяется вашим именем пользователя):

Generating public/private ed25519 key pair.
Enter file in which to save the key (C:\Users\username\.ssh\id_ed25519):

Можно нажать клавишу ВВОД, чтобы принять вариант по умолчанию, или указать путь и (или) имя файла для создания файлов ключей. На этом этапе вам будет предложено указать парольную фразу для шифрования файлов закрытого ключа. Она может быть пустой, но это не рекомендуется. Парольная фраза в сочетании с файлом ключа позволяет выполнить двухфакторную аутентификацию. В нашем примере парольная фраза остается пустой.

Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in C:\Users\username\.ssh\id_ed25519.
Your public key has been saved in C:\Users\username\.ssh\id_ed25519.pub.
The key fingerprint is:
SHA256:OIzc1yE7joL2Bzy8!gS0j8eGK7bYaH1FmF3sDuMeSj8 username@server@LOCAL-HOSTNAME

The key's randomart image is:
+--[ED25519 256]--+
|        .        |
|         o       |
|    . + + .      |
|   o B * = .     |
|   o= B S .      |
|   .=B O o       |
|  + =+% o        |
| *oo.O.E         |
|+.o+=o. .        |
+----[SHA256]-----+

Теперь у вас есть пара открытого и закрытого ключей Ed25519 в указанном расположении. Файлы PUB являются открытыми ключами, а файлы без расширения — закрытыми.

Помните, что файлы закрытых ключей выполняют функцию пароля и должны защищаться так же тщательно. Для этого, чтобы безопасно хранить закрытые ключи в контексте безопасности Windows, связанным с определенным именем входа Windows, используйте ssh-agent. Запустите службу ssh-agent от имени администратора и выполните ssh-add, чтобы сохранить закрытый ключ.

# By default the ssh-agent service is disabled. Allow it to be manually started for the next step to work.
# Make sure you're running as an Administrator.
Get-Service ssh-agent | Set-Service -StartupType Manual

# Start the service
Start-Service ssh-agent

# This should return a status of Running
Get-Service ssh-agent

# Now load your key files into ssh-agent
ssh-add ~\.ssh\id_ed25519

В данном пункте возможно потребуется полное указание адреса ключа
например:

ssh-add C:\Users\"user name"\.ssh\test

После этого при каждом выполнении аутентификации с этого клиента с использованием закрытого ключа, ssh-agent будет автоматически извлекать его и передавать клиенту SSH.

Microsoft настоятельно рекомендует создать резервную копию закрытого ключа в безопасном расположении, а затем удалить его из локальной системы после добавления в ssh-agent. Закрытый ключ нельзя получить из агента, если использовался надежный алгоритм, например Ed25519 в этом примере. Если вы утратите доступ к закрытому ключу, вам нужно будет создать новую пару ключей и обновить открытый ключ во всех системах, с которыми вы работаете.

Read more

Монтирование удаленных ресурсов в файловую систему linux

NFS Для начала необходимо убедиться в наличии нужных пакетов. В debian based системах: apt install nfs-common В centos и fedora: sudo yum install nfs-utils Создадим локальную папку, в которую будет монтироваться удаленный ресурс: cd /media mkdir backups Затем откроем файл /etc/fstab и в конце добавим строчку: 192.168.1.

By Kirill Zlobin
Текстовой редактор Nano для самых маленьких

Текстовой редактор Nano для самых маленьких

GNU nano — консольный текстовый редактор для UNIX и Unix-подобных операционных систем, основанный на библиотеке curses и распространяемый под лицензией GNU GP. Это свободный клон текстового редактора Pico, входившего в состав e-mail клиента Pine. nano был создан, чтобы повторить функциональность и удобство интерфейса Pico, но без глубокой интеграции в почтовый клиент,

By Kirill Zlobin

Reverse proxy Home Assistant используя Synology nas

Приветствую! У меня установлен home assistant образ Generic x86-64 как виртуальная машина в synology nas. Для доступа из внешнего мира используется обратный прокси сервер встроенный в DSM, в моем случае версия DSM 7, но так же справедливо и для более ранних версий. Для подобной настройки обратного прокси у вас должен

By Evgeny Shmelev

Установка Synology Active Backup for Busness на linux

Привет! Решил использовать решение для бэкапа от Synology не только на рабочих Windows машинах но и для сервера, работающего под linux (Debian 11) Для добавления сервера требуется скачать агент, на вашей системе хранения достаточно легко получить ссылку: * Нажимаем клавишу “Добавить Устройство” Скачивание начинается автоматически, вы получаете установщик для переноса на

By Evgeny Shmelev