В целях безопасности я разрешаю только фиктивному пользователю входить в систему через SSH на моем сервере CentOS 5.8, для этого я добавил:
AllowUsers dummyaccount
При доступе к моему серверу я затем вхожу в систему с помощью манекена и использую su -
чтобы получить привилегии root, это работает отлично.
Теперь я настроил sftp, используя:
Subsystem sftp /usr/libexec/openssh/sftp-server
Когда я создаю ssh-туннель с моим ssh-клиентом и подключаюсь к нему с помощью FileZilla, я могу войти в свою фиктивную учетную запись и попасть в ее корень.
Однако теперь я бы хотел либо получить права root с моей фиктивной учетной записью, когда я использую sftp, чтобы я мог полностью управлять файловой системой с ее помощью, ИЛИ я хотел бы разрешить вход в систему root на sftp, но не на ssh, другими словами, я ' d войдите в ssh с помощью манекена и используйте su -
чтобы получить права root, как описано выше, но когда я сделаю туннель ssh, я смогу войти в систему с моим root через sftp.
Я слышал о способе разрешить пользователю доступ к sftp только путем изменения его оболочки на sftp-сервер, но это явно не вариант для root, поскольку изменение его оболочки сломает систему, насколько я знаю. Создание другого пользователя с такой конфигурацией работает, но тогда у них будет такой же ограниченный доступ к файловой системе через sftp, как и к фиктивному.
Что ты предлагаешь?
Требовать аутентификацию на основе ключа. Установить PermitRootLogin without-password
вариант. Установите ключ, который имеет команду принудительной internal-sftp
. Или обновите свой sshd_config
с разделом совпадений, чтобы заставить sftp.
Match user root
ForceCommand internal-sftp # force SFTP