2009-03-08 5 views
0

Мне нужно запустить резервные копии с нескольких серверов на одну учетную запись на другом сервере. Если один из открытых серверов взломан, я не хочу, чтобы файлы другого сервера в резервной учетной записи были скомпрометированы.Ограничение OpenSSH для загрузки только в определенные каталоги

Что мне нужно сделать, это разрешить только SCP для определенного каталога на основе ssh-ключа входящих соединений.

Я знаю, что я могу установить оболочку и несколько опций для каждого ключа в файле authorized_keys. http://www.manpagez.com/man/8/sshd/ (Прокрутите вниз до «AuthorizedKeysFile»)

Что я не знаю, как настроить команду internal-sftp использовать только определенный каталог. У меня нет корня на машине, поэтому я не могу сделать нормальный внутренний-sftp + chroot.

ответ

2

Это не работает.

Что вам нужно сделать, это настроить мини-chroot-тюрьму для каждого резервного хоста. Он просто должен иметь возможность запускать sh и scp (требуется только dev/dev/null).

Используйте jailsh в качестве оболочки входа для каждой учетной записи.

Jailsh - это корневая оболочка для корневого корня, которая устанавливает chroot jail в каталог, помеченный двумя последовательными слэшами, удаляет корневые привилегии и execs/bin/sh.

+0

К сожалению, у меня нет root на резервном сервере. Если бы я это сделал, я мог бы легко сделать отдельных пользователей для каждого резервного сервера. –

+0

Тогда его сборка пользовательской оболочки для вас. – Joshua