Постоянный ввод пароля при каждом соединении с сервером по SSH неудобен. Безпарольная аутентификация решает эту проблему путем использования криптографических ключей. Разберём подробно, как настроить доступ без ввода пароля.
Шаг 1. Генерация открытого и закрытого ключей на клиентской стороне
Сначала создадим ключи на рабочей машине (клиенте):
ssh-keygen
Оставьте предложенные стандартные значения и пустым поле passphrase (без парольной фразы).
Шаг 2. Копирование открытого ключа на сервер
Теперь отправим созданный открытый ключ на сервер:
cat ~/.ssh/id_rsa.pub | ssh user@server "cat >> .ssh/authorized_keys"
Здесь user@server
замените на реальный логин и IP-адрес сервера.
Шаг 3. Настройка разрешений на сервере
Важно удостовериться, что права доступа установлены верно:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
Шаг 4. Проверка настроек SSH-демона
На сервере откройте файл конфигурации SSH демона:
sudo mcedit /etc/ssh/sshd_config
Убедитесь, что параметр PubkeyAuthentication включен:
PubkeyAuthentication yes
Перезапустите демон SSH:
sudo systemctl restart sshd
Шаг 5. Проверка подключения
Попробуйте подключиться к серверу без ввода пароля:
ssh user@server
Если вход выполнен успешно, значит, настройка выполнена корректно.
Заключение
Безпарольное подключение значительно ускоряет рабочий процесс и снижает риск ошибок при повторном вводе пароля. Тем не менее будьте внимательны и защитите закрытые ключи надёжными мерами.