Наличие каталога .ssh вынуждает удаленный доступ через аутентификацию по открытому ключу? [закрыто]

Вопрос или проблема

Контекст: 24.04 Ubuntu на Raspberry Pi

Пользователь по умолчанию – ubuntu. Для этого обсуждения давайте определим различные сценарии:

  1. каталог /home/ubuntu/.ssh не существует
  2. существует пустой каталог: /home/ubuntu/.ssh
  3. существует файл как /home/ubuntu/.ssh/authorized_keys

В1) Какие, если есть, сценарии требуют удаленной аутентификации пароля с использованием аутентификации по открытому ключу?

В2) Достаточно ли скопировать мой открытый ключ (id_rsa.pub) с MacBook через USB-накопитель на rPi: /home/ubuntu/.ssh/authorized_keys? или необходимо настроить другие параметры/установки для включения удаленного доступа по SSH (пароль или открытый ключ)?

В3) Что принуждает к удаленному доступу через аутентификацию по открытому ключу и исключает парольную аутентификацию?

Пользователь по умолчанию (ubuntu) имеет пароль, что позволяет доступ к терминалу через клавиатуру rPi

В4) Можно ли настроить пользователя по умолчанию (ubuntu) для удаленного доступа по SSH через открытый ключ? или нужно создать нового пользователя.

Чтобы отключить аутентификацию по паролю, сервер SSH должен иметь в своей конфигурации PasswordAuthentication no, обычно в /etc/ssh/sshd_config.

Существование каталога .ssh в домашнем каталоге пользователя ничего не означает, как и наличие файла authorized_keys в этом каталоге. В частности, это не принуждает использование аутентификации на основе ключей и не мешает или включает аутентификацию на основе пароля.

Если аутентификация по паролю отключена, то по умолчанию сервер SSH будет искать в ~/.ssh/authorized_keys авторизованные ключи, при условии, что каталог .ssh и файл имеют соответствующие разрешения (0700 для каталога и 0600 для файла).

.

Ответ или решение

Понимание Аутентификации с Использованием SSH в Ubuntu на Raspberry Pi

Контекст: Ubuntu 24.04 работает на Raspberry Pi, и пользователь по умолчанию — "ubuntu". В данном обсуждении рассматриваются различные сценарии, связанные с наличием директории .ssh и её содержимым, влияющими на аутентификацию при удалённом доступе с помощью SSH.

Вопрос 1: Влияет ли наличие .ssh на тип аутентификации?

  1. Сценарий 1: Директория /home/ubuntu/.ssh отсутствует.

    В этом случае аутентификация через публичный ключ невозможна, так как отсутствует файл authorized_keys, где хранится разрешённый ключ. Если парольная аутентификация разрешена (по умолчанию), она будет использоваться.

  2. Сценарий 2: Существует пустая директория /home/ubuntu/.ssh.

    Даже если директория присутствует, без присутствия файла authorized_keys SSH не сможет использовать ключевую аутентификацию. Если aутентификация по паролю включена, она будет активна.

  3. Сценарий 3: Существует файл /home/ubuntu/.ssh/authorized_keys.

    При наличии правильных ключей в файле authorized_keys и при корректных разрешениях, SSH поддерживает аутентификацию по ключу. Но, если парольная аутентификация не отключена, можно также использовать пароль.

Вопрос 2: Достаточно ли скопировать публичный ключ для доступа?

Для настройки удалённого доступа через SSH с использованием публичного ключа необходимо:

  1. Копировать содержимое вашего id_rsa.pub на вашем MacBook в файл /home/ubuntu/.ssh/authorized_keys на Raspberry Pi.
  2. Убедиться, что у директории .ssh установлены права 0700, а у файла authorized_keys0600.
  3. Проверить, что параметр PasswordAuthentication задан как no в файле /etc/ssh/sshd_config для исключения парольной аутентификации.

Вопрос 3: Как заставить SSH использовать только Public Key Authentication?

Чтобы полностью исключить парольную аутентификацию:

  • Отредактируйте файл конфигурации SSH /etc/ssh/sshd_config, установив PasswordAuthentication no.
  • Выполните команду sudo systemctl restart sshd, чтобы применить изменения.

Вопрос 4: Нужно ли создавать нового пользователя для Public Key Authentication?

Не обязательно создавать нового пользователя для доступа по SSH с использованием публичного ключа. Можно использовать существующего пользователя "ubuntu", настроив его должным образом.

Заключение

Наличие директории .ssh само по себе не определяет тип аутентификации. Лишь правильно настроенный файл authorized_keys и изменения в конфигурации SSH могут обеспечить безопасный удалённый доступ с использованием публичных ключей. Пользователю "ubuntu" вполне можно настроить такой доступ, соблюдая описанные выше шаги.

Оцените материал
Добавить комментарий

Капча загружается...