По умолчанию сервера в oblako.kz создаются с возможностью подключения по SSH с именем пользователя (root) и паролем, которые указаны в свойствах ВМ, в Панели. Не всем пользователям такой способ подключения удобен, поэтому мы подготовили инструкцию для подключения к ВМ по SSH с ключом. Инструкция одинаково подходит для всех OS: Linux, Windows, macOS.
Создание SSH-ключей и копирование их на ВМ
Для генерации пары SSH-ключей используется команда ssh-keygen -t ed25519 -C "your_email@example.com", где -t ed25519 — это алгоритм шифрования, который использует эллиптические кривые (длина 256 бит), а -C "your_email@example.com" — email пользователя, который будет подключаться. Для генерации пары SSH-ключей выполните следующие шаги:
- Введите название пары SSH-ключей:

Будет создано два файла: файлы будут иметь одинаковые имена, но один из них будет иметь расширение .pub. - Задайте парольную фразу для защиты ключа (можно оставить пустым, нажав Enter):

Passphrase вводится каждый раз при использовании ключа, он повышает безопасность и без него ключ бесполезен, если оставить поле passphrase пустым, то ключом сможет воспользоваться любой, у кого он будет. - Повторный ввод парольной фразы (можно оставить пустым, нажав Enter):

В результате генерации ключей будет создана пара SSH-ключей с именами, которые были заданы на первом шаге:

Ключи будут находиться в той директории, где была запущена утилита ssh-keygen. Для копирования публичной части ключа (.pub) на ВМ используется утилита ssh-copy-id со следующими параметрами: ssh-copy-id -i pub_key_name.pub user@ваш.ip.адрес.
Публичный ключ будет скопирован на ВМ и добавлен в директорию ~/.ssh/authorized_keys пользователя, под которым вы подключаетесь (по умолчанию root). Также при необходимости будет создана директория ~/.ssh с правильными правами (700) и файл authorized_keys с правами 600.
Если утилита ssh-copy-id недоступна — воспользуйтесь следующей связкой утилит: cat pub_key_name.pub | ssh user@ip.адрес "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys".
После копирования публичной части SSH-ключа на ВМ попробуйте подключиться, используя следующую команду: ssh -i private_key_name root@ip.адрес_вм. Закрытая часть SSH-ключа для подключения передается через флаг -i. SSH не запросит пароля и сразу подключится к ВМ.
Перенос SSH-ключа из WSL2/Linux в Windows
Если вы создали пару SSH-ключей в WSL2 или Linux, а потом перенесли их в Windows, например, для подключения к ВМ через VS Code, то воспользоваться ими без настройки определенных прав не получится. Нужно выполнить последовательность следующих шагов:
icacls "private_key_path" /reset
icacls "private_key_path" /inheritance:r
icacls "private_key_path" /grant:r "%username%:F"
icacls "private_key_path" /grant:r "SYSTEM:F"