Как настроить беспарольный вход по SSH в Linux с помощью ключей

Как настроить беспарольный вход по 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 в Linux с помощью ключей

Примечание. По умолчанию команда 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

Вывод

Как настроить беспарольный вход по SSH в Linux с помощью ключей 1

Шаг 3) Протестируйте аутентификацию SSH без пароля

Теперь попробуйте подключиться к удаленной системе по ssh с узла перехода.

$ ssh kadmin@192.168.1.130

Вывод

Как настроить беспарольный вход по SSH в Linux с помощью ключей 2

Отлично, приведенный выше вывод подтверждает, что мы можем войти в удаленную систему без указания пароля.

Ниже приведены важные моменты, которые следует учитывать при настройке аутентификации без пароля.

  • После того, как ключи будут обменены и протестированы, мы должны отключить аутентификацию на основе имени пользователя и пароля root для root и других пользователей.

Для этого отредактируйте файл ‘ /etc/ssh/sshd_config ‘ и установите следующие параметры.

PermitRootLogin no
PubkeyAuthentication yes
PasswordAuthentication no
UsePAM yes

Сохраните и выйдите из файла и перезапустите службу ssh, используя приведенную ниже команду systemctl.

$ sudo systemctl restart sshd

Еще одним важным моментом является то, что удаленный пользователь, в нашем случае «kadmin», должен быть частью группы sudo и иметь права администратора, чтобы он мог выполнять административные задачи.

Вот и все из этого сообщения, я надеюсь, вы нашли его информативным. Пожалуйста, оставьте свои вопросы и отзывы в разделе комментариев ниже.