Постоянный ввод пароля при каждом соединении с сервером по 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) в надежном месте и никогда не передавайте его третьим лицам.

Успешное подключение по SSH без пароля

🚀 Понравилась статья?

Подписывайтесь на наши соцсети, чтобы не пропустить новые полезные материалы!

Следующая запись Предыдущая запись