Согласно рекомендациям по безопасности, не следует разрешать root-вход через SSH с паролем или ключами. Вместо этого следует использовать sudo.
Однако, если кто-то хочет использовать SSH (SFTP) для удаленного редактирования файлов конфигурации сервера, например, тех, которые живут в / etc (Apache, Cron, вы его называете), как это должно быть сделано?
Может ли удаленное редактирование файлов с правами root-доступа по SFTP быть совместимым с рекомендациями по безопасности
Как установить права доступа к файлам, группы пользователей и так, чтобы следовать рекомендациям по безопасности
В настоящее время я использую аутентификацию с открытым ключом, защищенную парольной фразой, для входа в систему как root, но я не уверен, что есть что-то более безопасное, что я мог бы сделать, чтобы входы SSH с правами root могли быть вообще отключены.
Сервер Ubuntu 12.04.
Ответы:
Если удаленное редактирование действительно необходимо, одним простым решением может быть сохранение копии / etc (или ее части) у другого локального пользователя и настройка системы для копирования изменений оттуда в настоящий / etc. Еще лучше было бы использовать git - или svn, или любую другую систему управления версиями по вашему выбору - и у вас также будет дополнительный журнал изменений.
Также возможно настроить chroot на SFTP и отключить обычную регистрацию для конкретной учетной записи - или ограничить регистрацию для этого пользователя только с указанных IP-адресов - с той же функцией OpenSSH (Match Group и т. Д.). Об этом, проверьте http://www.thegeekstuff.com/2012/03/chroot-sftp-setup/
Однако, пожалуйста, помните, что большинство конфигурационных файлов в / etc позволяют получить root-доступ, просто редактируя их. Я видел системы, сконфигурированные с помощью svn / git для проверки правильности файлов конфигурации, прежде чем принимать изменения файлов - которые могут использоваться для принятия только безопасных форматов конфигурации.
Во всяком случае, есть много разных решений этой проблемы. Это был только один подход.
источник
Я не понимаю, почему было бы неправильно редактировать эти файлы через SSH. Я делаю это все время, например
Если вы хотите использовать графический редактор, вы можете использовать X-туннелирование. Вы должны разрешить это в файле ssh conf и затем использовать
-X
опцию в командной строке ssh.Затем вы можете отредактировать файл файла в графическом редакторе:
источник
Посмотрите этот SO-ответ для примера того, как сделать это через SSH-туннель в Sublime Text.
источник