Как настроить SSH-доступ по ключу: инструкция для Linux и macOS
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. Отключение входа по паролю (опционально, но желательно)
После успешной настройки подключения по ключу можно отключить вход по паролю для повышения безопасности:
- Откройте конфигурационный файл
sshd
на сервере:
sudo nano /etc/ssh/sshd_config
- Найдите и измените параметры:
PasswordAuthentication no
PermitRootLogin no
- Перезапустите SSH-сервис:
sudo systemctl restart ssh
Внимание: убедитесь, что вход по ключу работает, прежде чем отключать пароли, иначе можно заблокировать себя.
Шаг 4. Проверка подключения
Теперь можно подключаться без ввода пароля:
ssh имя-пользователя@ip-сервера
Если вы указали парольную фразу при генерации ключа, её нужно будет ввести один раз. Чтобы этого избежать — используйте ssh-agent
:
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
Полезные советы
- Ключ можно переиспользовать для подключения к разным серверам.
- Публичный ключ можно безопасно размещать где угодно — он не содержит чувствительной информации.
- Не храните приватный ключ в открытом виде на облачных дисках или в репозиториях.
- Используйте менеджер ключей (
ssh-agent
илиgnome-keyring
) для удобного доступа.
Что делать, если ключ не работает?
- Проверьте, что файл
authorized_keys
действительно содержит ваш публичный ключ. - Убедитесь, что права доступа не слишком открытые (
.ssh
—700
,authorized_keys
—600
). - Посмотрите логи на сервере:
sudo journalctl -u ssh
Заключение
Аутентификация по ключу — обязательная практика для системных администраторов и разработчиков. Она безопаснее, чем пароли, защищает от перебора и обеспечивает быстрый вход.
Настройте ключи один раз — и забудьте о вводе паролей навсегда.
Настроить мониторинг за 30 секунд
Надежные оповещения о даунтаймах. Без ложных срабатываний