2010-11-25 3 views
3

Итак, я работал над этим в течение некоторого времени. Хотел бы знать, есть ли лучший способ или я нахожусь на правильном пути.Предел SSH - bash без команд

Я бы хотел, чтобы некоторые пользователи могли подключиться к моему серверу через SSH, а затем через туннели Squid через это SSH-соединение.

Однако сложная часть состоит в том, что я не хочу, чтобы эти пользователи могли выполнять ЛЮБЫЕ команды. Я имею в виду НИЧЕГО вообще.

Итак, на этом этапе я установил тюрьму через jailkit. Затем конкретный пользователь помещается в тюрьму и получает оболочку bash в качестве оболочки.

Следующим шагом будет удаление всех команд в каталоге/jail/bin/directories и т. Д., Чтобы они не могли выполнять какие-либо команды.

Есть ли я на правильном пути здесь? Что ты предлагаешь?

Также ... Я вижу, что это даст им много команд, которые не нашли ошибок ... как их удалить.

Есть ли какая-нибудь другая оболочка, на которой я мог бы смотреть, чтобы дать им что-нибудь, что не позволит им что-либо сделать?

ответ

2

Вы можете установить свою оболочку на что-то вроде/bin/true или, может быть, простой скрипт, который выведет информационное сообщение, а затем запустится с помощью ssh -N (см. Страницу руководства ssh). Я считаю, что это позволяет им использовать перенос портов без наличия в корпусе сервопривода.

EDIT:

Эквивалент SSH -N в PuTTY проверяет «Не запустить оболочку или команду на всех» флажок в своей вкладке конфигурации SSH (Подключение-> SSH).

EDIT2:

В качестве альтернативы этому можно использовать скрипт, который входит в бесконечный цикл сна. Пока это не будет прервано с помощью Ctrl-C, соединение останется в живых. Я просто попытался это:

#!/bin/sh 

echo "DNSH: Do-Nothing Shell" 

while sleep 3600; do :; done 

Если вы используете это в качестве оболочки (предпочтительно с более полезным сообщением) пользователи смогут использовать переадресацию портов без фактической оболочки и без необходимости знать о SSH-N и друзья.

+0

Они все равно могут использовать `ssh -t $ host/bin/sh`, чтобы получить оболочку независимо. – ephemient 2010-11-25 08:36:09