Как настроить вход без пароля по SSH в openSUSE 15.3
Одним из хорошо известных и общепринятых лучших методов обеспечения безопасности OpenSSH является настройка и использование аутентификации с открытым ключом, т. е. аутентификации без пароля. Хотя этот подход в первую очередь обеспечивает безопасность, он также обеспечивает простоту использования, поскольку вам не нужно вводить пароль каждый раз, когда вы пытаетесь войти на свой сервер.
В этом руководстве описаны необходимые шаги для настройки аутентификации без пароля SSH, а также для отключения аутентификации по паролю в openSUSE 15.3.
Тестовая среда:
- Локальная Ubuntu с ssh-клиентом — 192.168.56.1
- Удаленный сервер openSUSE 15.3 — 192.168.56.101
Шаг 1. Создайте пару открытого/закрытого ключей SSH
Чтобы создать пару ключей, используйте команду ssh-keygen с флагом -t
, чтобы указать тип ключа. Если используется без каких-либо аргументов, будет сгенерирован 2048-битный ключ RSA. По умолчанию закрытый ключ будет храниться в каталоге ~/.ssh/id_rsa, а открытый ключ — в каталоге ~/.ssh/id_rsa.pub.
Обратите внимание, что вы можете создать пару ключей с собственным именем. Кроме того, если вы собираетесь использовать пару ключей для интерактивного входа в систему, вы можете установить парольную фразу (синоним пароля для доступа и использования ключа) при создании пары ключей.
ssh-keygen
Теперь убедитесь, что пара ключей была сгенерирована в каталоге ~/.ssh с помощью команды ls, как показано.
ls -la .ssh/my_key*
Шаг 2. Загрузите SSH-ключ на удаленный сервер openSUSE.
Затем загрузите открытый ключ на удаленный сервер openSUSE с помощью команды ssh-copy-id следующим образом. Используйте флаг -i
, чтобы указать путь к открытому ключу и введите свой пароль ssh при появлении запроса:
ssh-copy-id -i .ssh/my_key.pub [email
Совет. Если вы получаете сообщение «Получено отключение от 192.168.56.101, порт 22:2: слишком много ошибок аутентификации, отключено от 192.168.56.101, порт 22», используйте Совет.IdentitiesOnly=yes, как описано в следующей команде.
ssh-copy-id -i .ssh/my_key.pub -o IdentitiesOnly=yes [email
Шаг 3. Подключитесь к openSUSE без SSH без пароля
Теперь проверьте удаленный вход без пароля на сервер openSUSE. Попробуйте войти в систему с помощью своего закрытого ключа следующим образом. Введите свою парольную фразу всякий раз, когда вам будет предложено ее ввести.
ssh -i .ssh/my_key [email
Шаг 4. Отключите аутентификацию по паролю SSH
Внимание. Прежде чем отключать аутентификацию по паролю, убедитесь, что вы настроили и успешно протестировали аутентификацию без пароля, иначе вы рискуете заблокировать себе доступ к серверу openSUSE.
Чтобы отключить аутентификацию по паролю, убедитесь, что для директив конфигурации PasswordAuthentication и ChallangeResponseAuthentication установлено значение no
, а для UsePAM установлено значение да
, как показано на следующем снимке экрана.
Сохраните последние настройки и перезапустите демон/службу sshd, как показано.
sudo systemctl restart sshd
С этого момента любой пользователь сервера openSUSE, который попытается войти в систему с аутентификацией по паролю, столкнется с ошибкой, показанной на следующем снимке экрана.
Это все на данный момент. Чтобы получить дополнительную информацию по этому вопросу, свяжитесь с нами через форму обратной связи ниже.