1 год Нам 1 год: −20% на все серверы по коду До конца 14 ч Заказать

PowerDedi

Безопасность

Создание и использование SSH-ключей

Создайте ключ Ed25519 в любой ОС, добавьте его в личный кабинет, установите на серверы и упростите вход.

Обновлено 25 сентября 2026 г. · 3 мин чтения · 8 разделов

На этой странице 8 разделов
  1. Как работают SSH-ключи
  2. Создание ключа в Linux или macOS
  3. Создание ключа в Windows
  4. Добавление ключа в личный кабинет
  5. Добавление ключа на работающий сервер
  6. Быстрый вход с помощью ~/.ssh/config
  7. Использование ключа в PuTTY
  8. Удаление ключа, которому вы больше не доверяете

SSH-ключи позволяют входить без пароля, и атаковать их гораздо сложнее, чем пароль. Вы создадите пару ключей Ed25519 на своём компьютере, зарегистрируете открытый ключ в PowerDedi и установите его на уже работающие серверы. Понадобится только терминал: «Терминал» в Linux и macOS или PowerShell в Windows 10 и 11.

Как работают SSH-ключи

Пара ключей состоит из двух половин. Закрытый ключ остаётся на вашем компьютере, защищён парольной фразой и никогда никому не передаётся. Открытый ключ — это одна строка текста, которую можно копировать куда угодно: в личный кабинет или в файл ~/.ssh/authorized_keys на сервере. Ключи Ed25519 короткие, быстрые и поддерживаются всеми операционными системами, которые мы устанавливаем.

Если какой-нибудь устаревший сервис принимает только RSA, создайте RSA-ключ командой ssh-keygen -t rsa -b 4096. При использовании аппаратного ключа безопасности FIDO2 команда ssh-keygen -t ed25519-sk оставляет закрытый ключ на самом устройстве.

Создание ключа в Linux или macOS

ssh-keygen -t ed25519 -C "alice-laptop"

Оставьте расположение по умолчанию, ~/.ssh/id_ed25519, и задайте парольную фразу. Комментарий после -C нужен лишь для того, чтобы потом узнать ключ. Затем выведите открытый ключ — его нужно будет вставить на следующих шагах:

cat ~/.ssh/id_ed25519.pub

Чтобы не вводить парольную фразу при каждом подключении, загружайте ключ в SSH-агент один раз за сеанс командой ssh-add ~/.ssh/id_ed25519. В macOS команда ssh-add --apple-use-keychain ~/.ssh/id_ed25519 к тому же сохраняет парольную фразу в связке ключей.

Создание ключа в Windows

В Windows 10 и 11 уже есть клиент OpenSSH. Если PowerShell не находит ssh-keygen, добавьте компонент Клиент OpenSSH в разделе Дополнительные компоненты в «Параметрах». Затем выполните в PowerShell:

ssh-keygen -t ed25519 -C "alice-laptop"
Get-Content $env:USERPROFILE\.ssh\id_ed25519.pub

Пара ключей сохраняется в C:\Users\<you>\.ssh\. Чтобы пользоваться агентом, выполните первые две команды ниже в окне PowerShell с правами администратора, а последнюю — от имени своей учётной записи:

Get-Service ssh-agent | Set-Service -StartupType Automatic
Start-Service ssh-agent
ssh-add $env:USERPROFILE\.ssh\id_ed25519

Добавление ключа в личный кабинет

  1. Откройте раздел Аккаунт → SSH-ключи и добавьте новый ключ.
  2. Вставьте строку открытого ключа целиком, от ssh-ed25519 до комментария, и дайте ключу понятное вам имя.
  3. Выбирайте этот ключ при заказе или переустановке сервера и при включении режима восстановления.

Ключи, сохранённые в личном кабинете, устанавливаются при подготовке сервера, его переустановке или загрузке в режим восстановления. На уже работающие серверы они не передаются: добавьте их туда сами, как описано ниже.

Добавление ключа на работающий сервер

В Linux или macOS команда ssh-copy-id добавит ключ и выставит правильные права доступа:

ssh-copy-id -i ~/.ssh/id_ed25519.pub alice@203.0.113.10

В Windows нет ssh-copy-id. Ту же задачу выполняет эта строка PowerShell:

Get-Content $env:USERPROFILE\.ssh\id_ed25519.pub | ssh alice@203.0.113.10 "umask 077; mkdir -p ~/.ssh; cat >> ~/.ssh/authorized_keys"

Чтобы сделать это вручную на сервере, добавьте ключ отдельной строкой в ~/.ssh/authorized_keys и задайте строгие права доступа. SSH-сервер игнорирует ключи, если каталог или файл доступны для записи другим пользователям:

mkdir -p ~/.ssh && chmod 700 ~/.ssh
vi ~/.ssh/authorized_keys          # paste the key, one key per line
chmod 600 ~/.ssh/authorized_keys

Если в AlmaLinux или Rocky Linux правильный ключ всё равно отклоняется, восстановите метки SELinux командой restorecon -Rv ~/.ssh.

Быстрый вход с помощью ~/.ssh/config

Запись для хоста избавляет от необходимости вводить адреса, имена пользователей и пути к ключам. В Windows это файл C:\Users\<you>\.ssh\config с тем же синтаксисом:

Host pd-fra1
    HostName 203.0.113.10
    User alice
    IdentityFile ~/.ssh/id_ed25519
    IdentitiesOnly yes

Теперь для подключения достаточно ssh pd-fra1, а scp, rsync и Git используют ту же запись. IdentitiesOnly yes не даёт SSH предлагать серверу все ключи из агента, что предотвращает ошибки «Too many authentication failures».

Использование ключа в PuTTY

PuTTY использует собственный формат ключей .ppk. Откройте PuTTYgen, выберите Conversions → Import key, укажите файл id_ed25519, введите его парольную фразу и нажмите Save private key. В PuTTY выберите файл .ppk в разделе Connection → SSH → Auth → Credentials. Если же вы создали ключ в PuTTYgen, скопируйте в личный кабинет текст из поля «Public key for pasting into OpenSSH authorized_keys file».

Удаление ключа, которому вы больше не доверяете

Если ноутбук потерян или коллега уходит из команды, отзовите соответствующий ключ: удалите его строку из ~/.ssh/authorized_keys на каждом сервере у каждого пользователя, включая root, и удалите ключ в разделе Аккаунт → SSH-ключи. Если это был ваш собственный ключ, сначала установите новый, чтобы не потерять доступ.

Похожие руководства

Все руководства