Отключить SSH удаленное туннелирование

2

Мне нужно ограничить функции туннеля SSH. Пользователям не должно быть разрешено создавать удаленные туннели, а только туннели к localhost. Я попытался настроить все это в конфигурации SSH, но я могу только полностью отключить TCPForwarding. Я думаю, это может быть возможно только с iptables тогда? Кто-нибудь имеет опыт и может мне помочь?

Владислав Джабантов
источник

Ответы:

1

Для OpenSSH вы можете использовать PermitOpen host:portдля ограничения, куда пользователи могут туннелировать. Чтобы позволить им туннелировать к MySQL, который только локально прослушивает порт по умолчанию:

PermitOpen LocalHost:3306

Со страницы руководства для sshd_config:

PermitOpen

Определяет пункты назначения, к которым разрешена переадресация портов TCP. Спецификация пересылки должна иметь одну из следующих форм:

PermitOpen host:port
PermitOpen IPv4_addr:port
PermitOpen [IPv6_addr]:port

Можно указать несколько форвардов, разделив их пробелами. Аргумент any может использоваться для снятия всех ограничений и разрешения любых запросов на пересылку. Аргумент none может быть использован для запрета всех запросов на пересылку. По умолчанию все запросы на переадресацию портов разрешены.

Брайан
источник
Спасибо за ваш ответ, он работает с localhost: <PORT>, но не с "any". Кажется, что каждый порт должен быть вставлен в этот момент.
Владислав Джабантов
Правильный. Тем не менее, обычно не так много локальных портов, которые пользователи хотели бы подключить в любом случае.
Брайан
Это верно, но это может стоить запроса функции ;-)
Владислав Дзабантов
@Brian Попробуйте использоватьPermitOpen localhost:*
kurtm
@kurtm это выдает ошибку «неверный номер порта в PermitOpen»
Владислав Дзабантов