Как настроить беспарольный вход по SSH в Linux с помощью ключей
Привет, фанаты Linux, всегда рекомендуется использовать ssh-систему с ключами, а не с паролем. Ключи SSH (Secure Shell) дают нам безопасный способ входа на серверы Linux и UNIX. Когда мы получаем доступ к системам Linux с помощью ключей SSH, это также известно как SSH-аутентификация без пароля.
В этом посте мы узнаем, как настроить SSH-аутентификацию без пароля с ключами в Linux.
Детали установки лаборатории:
- Jump Host (Rocky Linux) — клиент SSH — 192.168.1.135
- Удаленная система Linux (Ubuntu 20.04) — 192.168.1.130
Давайте углубимся в шаги,
Шаг 1) Создайте ключи SSH на хосте Jump с помощью команды ssh-keygen
Войдите в систему, чтобы перейти на хост, в моем случае я использую sysadm . Запустите команду ssh-keyen, чтобы сгенерировать открытый и закрытый ключи для sysadm с использованием алгоритма rsa.
$ ssh-keygen -t rsa
Эта команда предложит вам ввести путь открытого и закрытого ключей. Если вы хотите сохранить путь по умолчанию, нажмите Enter, а также нажмите Enter, когда вам будет предложено установить кодовую фразу.
Вывод команды ssh-keygen будет выглядеть следующим образом:
Примечание. По умолчанию команда ssh-keygen генерирует ключи размером 2048 бит. Если вы хотите изменить размер ключей, используйте опцию «-b», за которой следует размер в битах. Пример показан ниже,
$ ssh-keygen -t rsa -b 4096
Шаг 2) Скопируйте открытый ключ пользователя в удаленную систему Linux
Используйте команду ssh-copy-id , чтобы скопировать открытый ключ пользователя в файл authorized_keys удаленного пользователя системы Linux.
Синтаксис: ssh-copy-id <имя-пользователя> @ <Remote-Linux-System-IP>
$ ssh-copy-id kadmin@192.168.1.130
Вывод
Шаг 3) Протестируйте аутентификацию SSH без пароля
Теперь попробуйте подключиться к удаленной системе по ssh с узла перехода.
$ ssh kadmin@192.168.1.130
Вывод
Отлично, приведенный выше вывод подтверждает, что мы можем войти в удаленную систему без указания пароля.
Ниже приведены важные моменты, которые следует учитывать при настройке аутентификации без пароля.
- После того, как ключи будут обменены и протестированы, мы должны отключить аутентификацию на основе имени пользователя и пароля root для root и других пользователей.
Для этого отредактируйте файл ‘ /etc/ssh/sshd_config ‘ и установите следующие параметры.
PermitRootLogin no PubkeyAuthentication yes PasswordAuthentication no UsePAM yes
Сохраните и выйдите из файла и перезапустите службу ssh, используя приведенную ниже команду systemctl.
$ sudo systemctl restart sshd
Еще одним важным моментом является то, что удаленный пользователь, в нашем случае «kadmin», должен быть частью группы sudo и иметь права администратора, чтобы он мог выполнять административные задачи.
Вот и все из этого сообщения, я надеюсь, вы нашли его информативным. Пожалуйста, оставьте свои вопросы и отзывы в разделе комментариев ниже.