Постоянный ввод пароля при каждом соединении с сервером по SSH неудобен и менее безопасен. Аутентификация по ключам решает эту проблему, используя криптографические ключи вместо паролей. Разберём подробно, как настроить такой доступ.
💡 Присоединяйтесь к нашим сообществам!
Будьте в курсе новых статей, обновлений и полезных материалов:
📑 Содержание
Шаг 1. Генерация ключей на клиентской стороне
Сначала создадим пару ключей (открытый и закрытый) на вашей рабочей машине (клиенте):
ssh-keygen -t rsa -b 4096
Нажимайте Enter, чтобы оставить предложенные стандартные значения. Когда система запросит passphrase (парольную фразу для защиты ключа), просто нажмите Enter дважды, чтобы оставить её пустой (это и обеспечит вход без пароля).
Шаг 2. Копирование открытого ключа на сервер
Теперь отправим созданный открытый ключ на сервер. Самый простой и надежный способ — использовать утилиту ssh-copy-id:
ssh-copy-id user@server_ip
Если утилита недоступна, можно использовать классический метод:
cat ~/.ssh/id_rsa.pub | ssh user@server_ip "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
Замените user@server_ip на реальный логин и IP-адрес вашего сервера.
Шаг 3. Настройка разрешений на сервере
Важно удостовериться, что права доступа к файлам ключей на сервере установлены верно, иначе SSH-демон проигнорирует их из соображений безопасности. Выполните на сервере:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
Шаг 4. Проверка настроек SSH-демона
На сервере откройте файл конфигурации SSH-демона:
sudo mcedit /etc/ssh/sshd_config
Убедитесь, что параметр аутентификации по ключам включен (раскомментируйте строку или измените значение):
PubkeyAuthentication yes
Для применения изменений перезапустите демон SSH:
sudo systemctl restart sshd
(В некоторых дистрибутивах служба может называться ssh вместо sshd).
Шаг 5. Проверка подключения
Попробуйте подключиться к серверу с клиентской машины:
ssh user@server_ip
Если вход выполнен успешно без запроса пароля, значит, настройка выполнена корректно.
Заключение
Подключение по ключам значительно ускоряет рабочий процесс, позволяет автоматизировать задачи (например, через скрипты или rsync) и повышает общую безопасность системы. Тем не менее, будьте внимательны: храните закрытый ключ (id_rsa) в надежном месте и никогда не передавайте его третьим лицам.
🚀 Понравилась статья?
Подписывайтесь на наши соцсети, чтобы не пропустить новые полезные материалы!