В этой статье
Основы SSH-ключей
SSH-ключи обеспечивают более безопасную и удобную альтернативу аутентификации по паролю. Вместо ввода пароля при каждом подключении к серверу или отправке кода в Git-репозиторий SSH использует пару криптографических ключей — закрытый ключ, который остаётся на вашем компьютере, и открытый ключ, который вы передаёте серверам. Сервер математически подтверждает вашу личность, при этом ваш секрет никогда не передаётся по сети.
Современный SSH поддерживает несколько типов ключей. Ed25519 — рекомендуемый выбор для большинства пользователей: он обеспечивает высокую безопасность при компактном размере ключей и быстрых операциях. ECDSA предоставляет аналогичную безопасность на эллиптических кривых с более широкой совместимостью на старых системах. RSA по-прежнему широко поддерживается и является единственным вариантом для некоторых устаревших систем, хотя требует большей длины ключей (минимум 3072 бита, предпочтительно 4096) для соответствия безопасности новых алгоритмов.
Как использовать генератор SSH-ключей
Генератор SSH-ключей от CheckTown создаёт пары ключей непосредственно в вашем браузере без отправки данных на сервер.
- Выберите алгоритм ключа — Ed25519 (рекомендуемый), ECDSA (P-256, P-384, P-521) или RSA (2048, 3072, 4096 бит)
- При желании добавьте комментарий для идентификации ключа (обычно ваш адрес электронной почты) и парольную фразу для дополнительной защиты
- Нажмите «Сгенерировать» для создания пары ключей — закрытый и открытый ключи появятся в отдельных полях, готовые к копированию
- Сохраните закрытый ключ на ваш компьютер (обычно в ~/.ssh/id_ed25519) и добавьте открытый ключ на сервер или в сервис Git-хостинга
Попробуйте бесплатно — без регистрации
Сгенерировать SSH-ключи →Советы по безопасности SSH-ключей
SSH-ключи — мощные учётные данные. Их надлежащая защита необходима для поддержания безопасности ваших серверов и аккаунтов.
- Всегда добавляйте парольную фразу к закрытому ключу — при краже файла ключа парольная фраза предотвращает его немедленное использование злоумышленником
- Установите строгие права доступа на файл закрытого ключа — используйте chmod 600, чтобы только ваш аккаунт мог его читать, и chmod 700 для директории .ssh
- Используйте отдельные пары ключей для разных целей — одну для рабочих серверов, другую для личных проектов и третью для Git-хостинга. Это ограничивает ущерб при компрометации одного ключа
Часто задаваемые вопросы
Какой тип SSH-ключа использовать?
Используйте Ed25519, если нет конкретных причин отказаться. Он обеспечивает высокую безопасность при наименьшем размере ключа (256 бит), быструю генерацию подписей и устойчивость к определённым атакам по побочным каналам. Если нужна совместимость со старыми системами, не поддерживающими Ed25519, используйте ECDSA с кривой P-256. RSA используйте только если удалённая система этого требует, и всегда с размером не менее 4096 бит.
Безопасно ли генерировать SSH-ключи в браузере?
Этот инструмент генерирует ключи полностью в вашем браузере с использованием Web Crypto API. Никакие данные закрытого ключа никогда не отправляются на сервер — все криптографические операции выполняются локально на вашем устройстве. Вы можете убедиться в этом, проверив вкладку «Сеть» в инструментах разработчика браузера во время генерации ключей. Для максимальной безопасности на высокоценных серверах вы также можете генерировать ключи локально с помощью ssh-keygen в терминале.
Как добавить открытый ключ на сервер?
Скопируйте открытый ключ и добавьте его в файл ~/.ssh/authorized_keys на удалённом сервере. Это можно сделать с помощью команды ssh-copy-id или вручную, вставив открытый ключ на новую строку в файле authorized_keys. Убедитесь, что права доступа к файлу authorized_keys установлены на 644, а к директории .ssh — на 700. На платформах Git, таких как GitHub или GitLab, вставьте открытый ключ в разделе SSH-ключей настроек вашего аккаунта.