Справочник

Команда ssh-keygen: как создать SSH-ключ

SSH-ключ — пара файлов, с которой вход на сервер идёт без пароля и надёжнее пароля. Создаёт пару команда ssh-keygen. Она входит в клиент OpenSSH, который есть в Windows 10 с версии 1809, в Windows 11, на Mac и в Linux. Ниже — как создать ключ и что ещё умеет команда.

Обновлено 11.10.2026≈ 5 мин чтения
Содержание 11

Что сделать прямо сейчас

  1. Откройте терминал на своём компьютере, не на сервере: в Windows — PowerShell, на Mac — Терминал. Как его найти — инструкция.
  2. Создайте ключ: ssh-keygen -t ed25519 -C "ivan@laptop". Вместо ivan@laptop — любая подпись, по которой вы узнаете ключ.
  3. На вопрос Enter file in which to save the key нажмите Enter: ключ ляжет в папку .ssh под стандартным именем.
  4. На вопрос Enter passphrase придумайте пароль для ключа или нажмите Enter, чтобы оставить ключ без пароля. Повторите то же на Enter same passphrase again. Буквы при вводе не видны — так и должно быть.
  5. Проверьте: команда ответит Your identification has been saved и Your public key has been saved — пути к двум файлам.

Дальше открытый ключ кладут на сервер — как это сделать.

Какие файлы создаются

ФайлЧто этоКому показывать
id_ed25519закрытый ключникому, он остаётся на вашем компьютере
id_ed25519.pubоткрытый ключ — одна строка, начинается с ssh-ed25519его кладут на сервер и в панель провайдера

Папка с ключами: на Mac и Linux — ~/.ssh, в Windows — C:\Users\ИМЯ\.ssh. Показать открытый ключ: на Mac и Linux cat ~/.ssh/id_ed25519.pub, в Windows type $env:USERPROFILE\.ssh\id_ed25519.pub.

Главные ключи команды

КомандаЧто делает
ssh-keygen -t ed25519создать ключ Ed25519
ssh-keygen -t ed25519 -C "подпись"то же, с подписью в конце открытого ключа
ssh-keygen -t ed25519 -f ~/.ssh/id_workсоздать ключ под своим именем
ssh-keygen -p -f ~/.ssh/id_ed25519сменить или убрать пароль ключа
ssh-keygen -c -f ~/.ssh/id_ed25519сменить подпись ключа
ssh-keygen -y -f ~/.ssh/id_ed25519вывести открытый ключ по закрытому
ssh-keygen -lf ~/.ssh/id_ed25519.pubпоказать отпечаток ключа
ssh-keygen -F ВАШ_IPнайти сервер в списке известных
ssh-keygen -R ВАШ_IPудалить запись о сервере из списка известных

-R нужен после переустановки системы на сервере, когда SSH пишет, что ключ сервера изменился. Когда так делать можно, а когда опасно, — в статье REMOTE HOST IDENTIFICATION HAS CHANGED.

Пароль на ключ

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

Сменить пароль: ssh-keygen -p -f ~/.ssh/id_ed25519. Команда спросит старый пароль и дважды новый. Чтобы убрать пароль, на вопрос о новом нажмите Enter. Открытый ключ при этом не меняется, на сервере ничего править не нужно.

Второй ключ для другого сервера

Чтобы не затереть первый ключ, дайте второму своё имя через -f:

ssh-keygen -t ed25519 -f ~/.ssh/id_work -C "work"

Получится id_work и id_work.pub. Подключиться с ним: ssh -i ~/.ssh/id_work ivan@ВАШ_IP. Чтобы не писать -i каждый раз, укажите ключ в файле config — как.

Если ключ уже есть

Если файл с таким именем уже есть, ssh-keygen спросит Overwrite (y/n)?. Отвечайте n. Ответ y заменит старый ключ новым, и на серверы, где лежит старый открытый ключ, с этого компьютера будет не войти. Новый ключ создайте под другим именем через -f.

Открытый ключ потерялся

Открытый ключ можно получить заново из закрытого:

ssh-keygen -y -f ~/.ssh/id_ed25519

Команда выведет строку ssh-ed25519 …. Скопируйте её целиком. Если ключ с паролем, команда сначала спросит пароль. Закрытый ключ из открытого получить нельзя: если пропал файл id_ed25519, создайте новую пару.

Отпечаток ключа

Отпечаток — короткая строка, по которой сверяют ключ: ssh-keygen -lf ~/.ssh/id_ed25519.pub. В ответе — длина ключа, отпечаток SHA256:…, подпись и тип в скобках.

Ошибки и как их исправить

ОтветЧто значитЧто сделать
Load key "…": incorrect passphrase supplied to decrypt private keyневерный пароль ключавведите пароль ещё раз, проверьте раскладку
Load key "…": invalid formatфайл повреждён или это не закрытый ключразбор ошибки
Saving key "…" failed: No such file or directoryв пути после -f нет такой папкипроверьте путь или создайте папку
Saving key "…" failed: Permission deniedнет прав на запись в эту папкусохраните ключ в свою папку .ssh
unknown key type …опечатка после -tнапишите -t ed25519
Passphrases do not matchпароль и повтор не совпаливведите оба раза одинаково

Если ключ создан, а сервер не пускает, — статьи Permission denied (publickey) и UNPROTECTED PRIVATE KEY FILE.

Источники

Сверено 11 октября 2026 года.

Что почитать дальше

Проверено и обновлено: 11.10.2026