Как ssh может разрешить настройку переадресации удаленного порта, но не выполнять команды?

8

Как настроить команду SSH, чтобы разрешить переадресацию портов, но не выполнять команды?

Я знаю, что логин ssh может использовать -N, чтобы остановить выполнение команд, но можно ли настроить конфигурационный файл ssh, чтобы запретить его?

Ограничение типа оболочки и пути в Linux включено, но может ли это быть сделано в самой конфигурации SSH?

vfclists
источник

Ответы:

6

Посмотрите man sshdи найдитеAUTHORIZED_KEYS FILE FORMAT

Что вы хотите сделать, это создать пару открытый / закрытый ключ и поместить открытый ключ в ~/.ssh/authorized_keysфайл как обычно. Затем отредактируйте authorized_keysфайл, добавив строку:

Команда = "/ бен / ложь", нет-агент переадресация, нет-псевдотерминал, нет пользователя-гс, нет-X11-переадресация, permitopen = "127.0.0.1:80"

Это будет выглядеть примерно так:

command="/bin/false",no-agent-forwarding,no-pty,no-user-rc,no-X11-forwarding,permitopen="127.0.0.1:80" ssh-dss AAAAC3...51R==

Вы можете изменить аргумент на «allowopen» и, возможно, изменить некоторые другие параметры, но я думаю, что это в основном так.

Слартибартфаст
источник
Я предполагаю, что allowopen устанавливает локальные порты, которые могут быть переадресованы со стороны пользователей. Влияет ли это на переадресацию удаленных портов? Это относится только к этому ключу?
vfclists
Файл author_keys находится на удаленном конце (ssh-сервер). Он указывает комбинации хоста и порта, к которым клиентам с авторизованным ключом разрешено подключаться через сервер. Порт, который вы используете на локальной стороне (клиент ssh), не имеет значения (и, вероятно, не сообщается серверу), поэтому он опущен. Да, он применяется только к этому ключу (поэтому он указан в той же строке, что и открытый ключ, соответствующий ключу, который разрешен)
Slartibartfast
1
Здесь есть опечатка: no-usr-rcдолжно быть no-user-rc.
xebeche
2
В ответе все еще есть экземпляр no-usr-rc - не уверены, пропустили ли вы его или редактирование не было обработано?
Дэйв Грегори
1
Вот почему я ненавижу правило ограничения в 6 символов. Я потратил полчаса, пытаясь выяснить, что не так, когда я скопировал один с опечаткой, только чтобы найти его, потому что никто, кроме владельца, не может исправить этот ответ.
zypA13510