У меня есть SSH-сервер под управлением OpenSSH. Я хочу использовать его для настройки сервера SOCKS, чтобы мои друзья в Китае могли использовать его для доступа к таким веб-сайтам, как твиттер. Я хочу применить два ограничения: 1. нет доступа к оболочке, 2. разрешен только порт 80 и 443.

У меня вопрос, как применить второе ограничение? Я попытался поместить следующую строку в /home/tunuser/.ssh/authorized_keys: allowopen = ": 80", allowopen = ": 443", no-pty ...

Я использую опцию ssh -D, а в браузере используется прокси SOCKS. Клиент ssh успешно вошел в систему, но мой веб-браузер не может установить туннель. Сообщение об ошибке на сервере ssh говорит, что туннель не разрешен.

После того как я удалил две опции "allowopen", мой браузер может успешно просматривать.

Поддерживает ли openssh "ограничить только порт, разрешить любой хост"?

1 ответ1

0

Извините, невозможно использовать wildcard в hostnames

No pattern matching is performed on the specified hostnames, 
they must be literal domains or addresses.

Man Page for permitopen

permitopen="host:port"
         Limit local ``ssh -L'' port forwarding such that it may only connect 
to the specified host and port.  IPv6 addresses can be specified by enclosing
the address in square brackets.  Multiple permitopen options may be applied 
separated by commas.  No pattern matching is performed on the specified                 
hostnames, they must be literal domains or addresses.  A port specification 
of * matches any port.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .