Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

SSH_KEYGEN_AUTH Linux / DevOps

Как создать SSH-ключ (ssh-keygen) и настроить вход на сервер без пароля

Обновлено: 26.08.2026 · Официальная документация ↗

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

Как устроена авторизация по SSH-ключам?

Вместо пароля используется пара криптографических ключей:

  • Приватный ключ (Private key / `id_ed25519`): хранится строго на вашем компьютере в секрете (это ваш личный электронный паспорт).
  • Публичный ключ (Public key / `id_ed25519.pub`): копируется на удаленный сервер в файл ~/.ssh/authorized_keys (это замок, который подходит только к вашему паспорту).

Шаг 1. Генерация пары ключей на вашем компьютере

Откройте терминал на своем локальном компьютере (Windows PowerShell, macOS или Linux) и выполните:

ssh-keygen -t ed25519 -C "my_laptop"
  1. Терминал спросит: «Enter file in which to save the key» — нажмите Enter (сохранить по умолчанию).
  2. Далее спросит: «Enter passphrase» — нажмите Enter два раза (без кодовой фразы для мгновенного входа).

Шаг 2. Копирование публичного ключа на сервер (команда ssh-copy-id)

ssh-copy-id -p 22 username@IP_ВАШЕГО_СЕРВЕРА

Введите пароль от сервера в последний раз. Утилита автоматически создаст нужные папки и добавит ваш ключ на сервер.


Шаг 3. Вход без пароля!

Теперь просто подключитесь к серверу — вход произойдет мгновенно за доли секунды:

ssh username@IP_ВАШЕГО_СЕРВЕРА
💡 Практика специалистов: Никогда и ни при каких обстоятельствах не передавайте приватный ключ (файл без расширения .pub) третьим лицам и не выкладывайте его в репозитории GitHub.

Частые вопросы (FAQ)

Что делать, если на компьютере с Windows нет утилиты ssh-copy-id?

В Windows PowerShell скопируйте ключ одной командой: type $env:USERPROFILE\.ssh\id_ed25519.pub | ssh username@IP_СЕРВЕРА 'cat >> ~/.ssh/authorized_keys'.

Почему современный алгоритм Ed25519 лучше старого RSA?

Ключи Ed25519 короче, работают быстрее, обеспечивают более стойкую криптографию и не имеют уязвимостей, присущих старым 1024/2048-битным ключам RSA.

Какие права доступа должны быть у папки .ssh на сервере?

SSH очень строго относится к безопасности. На сервере права должны быть: chmod 700 ~/.ssh и chmod 600 ~/.ssh/authorized_keys.

Как полностью запретить вход по паролям на сервере ради безопасности?

В файле /etc/ssh/sshd_config установите: PasswordAuthentication no, и перезапустите службу: sudo systemctl restart ssh.

Полезные материалы
Рекомендуем