Вопрос или проблема
В настоящее время у меня есть клиент, который хочет подключиться к серверу 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, вы можете воспользоваться следующим подходом.
Шаги по настройке:
-
Создание директории для SSH-ключей:
Создайте новую защищенную директорию для хранения SSH-ключей, например:sudo mkdir /etc/ssh_keys
Убедитесь, что доступ к этой директории ограничен, изменив права доступа:
sudo chmod 700 /etc/ssh_keys
-
Перемещение SSH-ключей:
Переместите SSH-ключи (как закрытый, так и открытый) в созданную директорию:sudo mv /home/username/.ssh/id_rsa /etc/ssh_keys/ sudo mv /home/username/.ssh/id_rsa.pub /etc/ssh_keys/
-
Настройка доступа к SSH-ключам:
Обновите конфигурацию SSH-сервера, чтобы указать местоположение новых ключей. Для этого отредактируйте файл конфигурации SSH, который обычно находится по пути/etc/ssh/sshd_config
. Добавьте следующий параметр:AuthorizedKeysFile /etc/ssh_keys/id_rsa.pub
-
Обновление прав доступа:
Убедитесь, что у SSH-ключей установлены правильные права доступа:sudo chmod 600 /etc/ssh_keys/id_rsa sudo chmod 644 /etc/ssh_keys/id_rsa.pub
-
Перезагрузка SSH-сервера:
После внесения изменений в конфигурационный файл не забудьте перезапустить сервис SSH:sudo systemctl restart sshd
-
Настройка домашнего каталога:
Убедитесь, что домашний каталог пользователя настроен на/interfaces/users/shar/
. Вы можете сделать это, выполнив:usermod -d /interfaces/users/shar/ username
Дополнительные советы:
-
Работа с SFTP: Убедитесь, что ваш клиент использует SFTP. Если на стороне клиента доступны настройки SFTP, укажите путь к директории
/interfaces/users/shar/
как целевой для подключения. -
Ограничение видимости: Для повышения безопасности вы можете настроить файл
.bash_profile
в домашнем каталоге пользователя, чтобы заблокировать доступ к файлам при входе в систему, ограничив команда вывод информации.
Заключение
Данный способ позволяет пользователю сохранять SSH-ключи в защищённой директории, а не в общем доступе, сохраняя при этом возможность подключения к серверу. Убедитесь, что вы предупреждены о любых возможных рисках и настройках безопасности перед внесением изменений.