Как я могу указать домашний каталог, отличный от местоположения ssh-ключей?

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

В настоящее время у меня есть клиент, который хочет подключиться к серверу RHEL 8.8 через sftp с использованием ssh-ключей. Теперь он хочет, чтобы домашней директорией для этого пользователя была папка, которая выглядит как /interfaces/users/shar/, которую используют другие пользователи на сервере. Я установил его домашнюю папку на указанный путь, но он не может подключиться к серверу, если я не перемещу ssh-ключи в эту папку, что не безопасно, так как это общая папка, и мы не хотим, чтобы другие пользователи видели этот каталог .ssh в данной директории. Поэтому желаемый сценарий заключается в том, чтобы его ssh-ключи оставались в каталоге /home/'user', но когда он подключается к ftp, он попадает в директорию /interfaces/users/shar/.

Что я пробовал до сих пор, так это создание символической ссылки внутри каталога /home/'user', которая указывает на /interfaces/users/shar/, так что, когда он попадает в свою домашнюю директорию, он может войти в эту символическую ссылку и затем попасть в нужную директорию, но по соображениям безопасности он не хочет, чтобы любой пользователь попадал в директорию, где находятся все файлы профиля и ssh-файлы, даже если они скрыты, потому что sftp-программное обеспечение показывает их всем, кто входит в систему.

Есть ли возможность настроить ssh ключи в другом месте, кроме домашней директории, так, чтобы он по-прежнему мог подключаться к серверу по ssh?

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

Для решения вашей проблемы с настройкой SSH-ключей и домашнего каталога пользователя в RHEL 8.8, вы можете воспользоваться следующим подходом.

Шаги по настройке:

  1. Создание директории для SSH-ключей:
    Создайте новую защищенную директорию для хранения SSH-ключей, например:

    sudo mkdir /etc/ssh_keys

    Убедитесь, что доступ к этой директории ограничен, изменив права доступа:

    sudo chmod 700 /etc/ssh_keys
  2. Перемещение SSH-ключей:
    Переместите SSH-ключи (как закрытый, так и открытый) в созданную директорию:

    sudo mv /home/username/.ssh/id_rsa /etc/ssh_keys/
    sudo mv /home/username/.ssh/id_rsa.pub /etc/ssh_keys/
  3. Настройка доступа к SSH-ключам:
    Обновите конфигурацию SSH-сервера, чтобы указать местоположение новых ключей. Для этого отредактируйте файл конфигурации SSH, который обычно находится по пути /etc/ssh/sshd_config. Добавьте следующий параметр:

    AuthorizedKeysFile /etc/ssh_keys/id_rsa.pub
  4. Обновление прав доступа:
    Убедитесь, что у SSH-ключей установлены правильные права доступа:

    sudo chmod 600 /etc/ssh_keys/id_rsa
    sudo chmod 644 /etc/ssh_keys/id_rsa.pub
  5. Перезагрузка SSH-сервера:
    После внесения изменений в конфигурационный файл не забудьте перезапустить сервис SSH:

    sudo systemctl restart sshd
  6. Настройка домашнего каталога:
    Убедитесь, что домашний каталог пользователя настроен на /interfaces/users/shar/. Вы можете сделать это, выполнив:

    usermod -d /interfaces/users/shar/ username

Дополнительные советы:

  • Работа с SFTP: Убедитесь, что ваш клиент использует SFTP. Если на стороне клиента доступны настройки SFTP, укажите путь к директории /interfaces/users/shar/ как целевой для подключения.

  • Ограничение видимости: Для повышения безопасности вы можете настроить файл .bash_profile в домашнем каталоге пользователя, чтобы заблокировать доступ к файлам при входе в систему, ограничив команда вывод информации.

Заключение

Данный способ позволяет пользователю сохранять SSH-ключи в защищённой директории, а не в общем доступе, сохраняя при этом возможность подключения к серверу. Убедитесь, что вы предупреждены о любых возможных рисках и настройках безопасности перед внесением изменений.

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

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