Как настроить SSH-доступ по ключу: инструкция для Linux и macOS

5 минут чтения
Средний рейтинг статьи — 4.8

SSH-доступ по паролю считается небезопасным. Намного надёжнее и удобнее — аутентификация по ключу. В этом гайде разберём, как создать и настроить SSH-ключи на Linux/macOS, а также как подключиться к серверу без пароля.

Шаг 1. Генерация SSH-ключа

На своей локальной машине выполните:

ssh-keygen -t ed25519 -C "ваш@email.com"

Что это делает:

  • -t ed25519 — указывает современный и безопасный тип ключа.
  • -C — добавляет комментарий (часто используется email для идентификации).

По умолчанию ключ сохраняется в ~/.ssh/id_ed25519 и ~/.ssh/id_ed25519.pub.

Если у вас уже есть ключи, создавать заново не нужно — переходите к следующему шагу.

Шаг 2. Копирование публичного ключа на сервер

Выполните:

ssh-copy-id имя-пользователя@ip-сервера

Если ssh-copy-id не установлен, можно сделать это вручную:

cat ~/.ssh/id_ed25519.pub | ssh имя-пользователя@ip-сервера "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

Также проверьте, чтобы у директории .ssh и файла authorized_keys были корректные права:

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

Шаг 3. Отключение входа по паролю (опционально, но желательно)

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

  1. Откройте конфигурационный файл sshd на сервере:
sudo nano /etc/ssh/sshd_config
  1. Найдите и измените параметры:
PasswordAuthentication no
PermitRootLogin no
  1. Перезапустите SSH-сервис:
sudo systemctl restart ssh

Внимание: убедитесь, что вход по ключу работает, прежде чем отключать пароли, иначе можно заблокировать себя.

Шаг 4. Проверка подключения

Теперь можно подключаться без ввода пароля:

ssh имя-пользователя@ip-сервера

Если вы указали парольную фразу при генерации ключа, её нужно будет ввести один раз. Чтобы этого избежать — используйте ssh-agent:

eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519

Полезные советы

  • Ключ можно переиспользовать для подключения к разным серверам.
  • Публичный ключ можно безопасно размещать где угодно — он не содержит чувствительной информации.
  • Не храните приватный ключ в открытом виде на облачных дисках или в репозиториях.
  • Используйте менеджер ключей (ssh-agent или gnome-keyring) для удобного доступа.

Что делать, если ключ не работает?

  1. Проверьте, что файл authorized_keys действительно содержит ваш публичный ключ.
  2. Убедитесь, что права доступа не слишком открытые (.ssh700, authorized_keys600).
  3. Посмотрите логи на сервере:
sudo journalctl -u ssh

Заключение

Аутентификация по ключу — обязательная практика для системных администраторов и разработчиков. Она безопаснее, чем пароли, защищает от перебора и обеспечивает быстрый вход.

Настройте ключи один раз — и забудьте о вводе паролей навсегда.

5 минут чтения
Средний рейтинг статьи — 4.8

Настроить мониторинг за 30 секунд

Надежные оповещения о даунтаймах. Без ложных срабатываний