Ограничение OpenSSH для разрешения загрузки только в определенные каталоги
Вопрос
Мне нужно запустить резервное копирование с нескольких серверов на одну учетную запись на другом сервере. Если один из общедоступных серверов будет взломан, я не хочу, чтобы файлы другого сервера в резервной учетной записи были взломаны.
Мне нужно только разрешить SCP доступ к определенному каталогу на основе ключа ssh входящих соединений.
Я знаю, что могу установить оболочку и несколько опций для каждого ключа в файле author_keys. http://www.manpagez.com/man/8/sshd/ ( Прокрутите вниз до " AuthorizedKeysFile ")
Что я не знаю, как настроить команду internal-sftp на использование только определенного каталога. У меня нет root на машине, поэтому я не могу выполнить обычные внутренние sftp + chroot.
Решение
Это не работает таким образом.
Вам нужно установить мини-тюрьму для chroot для каждого резервного хоста. Он просто должен иметь возможность запускать sh и scp (/ dev требуется только запись / dev / null).
Используйте jailsh в качестве оболочки для каждой учетной записи.
Jailsh - это оболочка для входа в suid-root, которая устанавливает chroot-тюрьму в каталог, помеченный двумя последовательными слешами, удаляет корневые привилегии и execs / bin / sh.