8 (800) 777-72-48 Для связи с отделом продаж
Личный кабинет
Сервисы

Генератор SSH-ключей

Простой и безопасный способ сгенерировать пару из публичного и приватного ключа RSA, DSA или ED25519.

Что такое SSH ключи и зачем они нужны?

SSH ключи — это способ входа на сервер без пароля. Вместо секретного слова используется пара криптографических ключей: приватный остаётся у вас, публичный лежит на сервере. Подобрать такой ключ перебором невозможно, а перехват соединения ничего не даёт — приватный ключ никогда не покидает ваш компьютер.

2
ключа в паре: приватный и публичный
0
паролей — нечего подобрать или украсть
1
ключ на любое число серверов
01 Клиент инициирует подключение Сообщает серверу, каким публичным ключом хочет авторизоваться.
02 Сервер отправляет задачу Находит ключ в authorized_keys и шлёт случайное число — challenge.
03 Клиент подписывает её приватным ключом По сети уходит только подпись. Сам приватный ключ не передаётся.
04 Сервер проверяет подпись Публичным ключом убеждается, что подпись верна, и открывает сессию.
Клиент
id_ed25519
Сервер
authorized_keys
Клиент
id_ed25519
Сервер
authorized_keys
Клиент
id_ed25519
Сервер
authorized_keys
Клиент
id_ed25519
Сервер
authorized_keys
приватный ключ — только у вас публичный ключ — можно передавать кому угодно

Какой тип SSH ключа выбрать?

Все четыре алгоритма решают одну задачу, но отличаются стойкостью, скоростью и поддержкой в старом ПО. Если сомневаетесь — берите ED25519.

ED25519 рекомендуем
RSA
ECDSA
DSA устарел
ED25519 — современный стандарт
Схема подписи на кривой Curve25519. Короткий ключ, мгновенная генерация и проверка, устойчивость к атакам по побочным каналам. Поддерживается OpenSSH с 2014 года, GitHub, GitLab и всеми актуальными дистрибутивами.
Стойкость
~128 бит, сопоставимо с RSA-3072
Скорость
самая быстрая генерация и проверка
Совместимость
OpenSSH 6.5+; нет в очень старых системах
Длина ключа
256 бит, фиксированная
Публичный ключ
~80 символов
Когда выбирать
по умолчанию для любых новых серверов и Git
$ssh-keygen -t ed25519 -C "user@host"
RSA — классика с максимальной совместимостью
Самый старый и самый распространённый алгоритм. Работает буквально везде — от современных дистрибутивов до сетевого оборудования десятилетней давности. Плата за это — длинные ключи и медленные операции при больших размерах.
Стойкость
высокая при 3072–4096 бит; 1024 — небезопасно
Скорость
генерация 4096 бит заметно медленнее
Совместимость
поддерживается любым SSH-клиентом и сервером
Длина ключа
2048–4096 бит, рекомендуется 4096
Публичный ключ
~550–740 символов
Когда выбирать
legacy-серверы, старое сетевое оборудование
$ssh-keygen -t rsa -b 4096 -C "user@host"
ECDSA — эллиптические кривые NIST
Компактный и быстрый алгоритм на кривых P-256, P-384 и P-521. По характеристикам близок к ED25519, но использует кривые NIST, к которым часть криптографического сообщества относится с недоверием, и чувствителен к качеству генератора случайных чисел при подписи.
Стойкость
128–256 бит в зависимости от кривой
Скорость
быстрее RSA, чуть медленнее ED25519
Совместимость
OpenSSH 5.7+, широкая поддержка
Длина ключа
256, 384 или 521 бит
Публичный ключ
~140–230 символов
Когда выбирать
если требуется соответствие стандартам NIST / FIPS
$ssh-keygen -t ecdsa -b 521 -C "user@host"
DSA — устаревший стандарт
Ограничен длиной 1024 бита, которая давно считается недостаточной. OpenSSH отключил поддержку DSA по умолчанию в версии 7.0 (2015 год), а в новых релизах удаляет её полностью. Используйте только для подключения к старым системам, которые больше ничего не понимают.
Стойкость
1024 бита — ниже современных требований
Скорость
быстрая генерация за счёт короткого ключа
Совместимость
отключён по умолчанию в OpenSSH 7.0+
Длина ключа
1024 бита
Публичный ключ
~590 символов
Когда выбирать
только для legacy-систем без альтернатив
$ssh-keygen -t dsa -C "user@host"

Где используются SSH ключи

Один и тот же ключ подходит для серверов, Git-хостингов и облаков — достаточно добавить публичную часть туда, куда нужен доступ.

01
Доступ к серверам
Подключение к выделенным и виртуальным серверам по SSH без ввода пароля. Один ключ — доступ ко всей инфраструктуре.
~/.ssh/authorized_keys
02
Git-репозитории
Clone, push и pull на GitHub, GitLab, Bitbucket и self-hosted Gitea без токенов и паролей.
git@github.com:user/repo.git
03
Облачные платформы
Ключ указывается при создании инстанса — и виртуальная машина сразу доступна только вам.
cloud-init: ssh_authorized_keys
04
CI/CD и автоматизация
Деплой из пайплайнов, Ansible, rsync и scp по расписанию — скрипты работают без интерактивного ввода.
ansible-playbook -i hosts deploy.yml
05
Защита от перебора
После настройки ключей парольный вход отключают — боты, перебирающие пароли, остаются ни с чем.
PasswordAuthentication no
Создать свой ключ
Генератор наверху страницы выдаст пару ключей за пару секунд — без установки чего-либо.
Перейти к генератору →

Как создать SSH ключ

Два пути к одному результату: онлайн-генератор в браузере или штатная утилита ssh-keygen в терминале. Итоговые файлы одинаковы.

  1. 1
    Выберите тип ключа
    RSA, DSA или ED25519. Для новых серверов и Git — ED25519, для старого оборудования — RSA 4096.
  2. 2
    Укажите длину и комментарий
    Для RSA — от 2048 бит. Комментарий не влияет на безопасность, но помогает отличать ключи: обычно это user@host или e-mail.
  3. 3
    Нажмите «Сгенерировать»
    Через секунду получите приватный ключ в форматах OpenSSH и PEM и публичный — в форматах OpenSSH и SSH2.
  4. 4
    Сохраните и подключите
    Приватный ключ — в ~/.ssh/ с правами 600. Публичный — в authorized_keys на сервере или в настройки Git-хостинга.
zsh — ~/.ssh
# 1. Сгенерировать пару ключей
$ssh-keygen -t ed25519 -C "user@host"
Generating public/private ed25519 key pair.
Your identification has been saved in ~/.ssh/id_ed25519
Your public key has been saved in ~/.ssh/id_ed25519.pub
# 2. Скопировать публичный ключ на сервер
$ssh-copy-id -i ~/.ssh/id_ed25519.pub user@host
# 3. Подключиться — пароль больше не нужен
$ssh user@host

Часто задаваемые вопросы

Коротко о том, что чаще всего спрашивают про SSH ключи и наш генератор.

01 Какой тип SSH ключа выбрать?

Если нет особых требований — ED25519: короткий ключ, максимальная стойкость и скорость. RSA 4096 нужен только для старых систем, которые не понимают ED25519. DSA не используйте — он отключён в современных версиях OpenSSH.

02 Безопасно ли генерировать SSH ключи онлайн?

Ключи передаются по защищённому соединению и нигде не сохраняются — после закрытия страницы восстановить их невозможно. Для критичной инфраструктуры (продакшн, root-доступ) мы всё же рекомендуем создавать ключи локально командой ssh-keygen: так приватный ключ вообще не покидает вашу машину.

03 Чем приватный ключ отличается от публичного?

Приватный ключ — ваш секрет. Он хранится только у вас, им подписываются запросы на подключение. Публичный ключ можно свободно передавать: его кладут на сервер, в GitHub или облако — он позволяет только проверить подпись, но не создать её.

04 Куда положить ключ и какие права выставить?

Приватный ключ — в каталог ~/.ssh/ с правами 600 (chmod 600 ~/.ssh/id_ed25519), сам каталог — 700. Иначе SSH-клиент откажется использовать ключ с ошибкой «permissions are too open». Публичный ключ добавьте одной строкой в ~/.ssh/authorized_keys на сервере.

05 Что делать, если приватный ключ утёк?

Удалите соответствующую строку из authorized_keys на всех серверах и из настроек Git-хостингов — старый ключ сразу перестанет работать. Затем сгенерируйте новую пару и добавьте новый публичный ключ. Чтобы такое было менее болезненно, заводите отдельные ключи под разные задачи.