Я поискал в Google решение этой проблемы и, возможно, сильно усложняю его.
Все, что я ищу, это способ автоматической переадресации определенных портов, как только пользователь входит в систему.
По сути, я работаю над веб-сайтом, который служит порталом для различного серверного программного обеспечения, запущенного на хосте. Я хочу создать ограниченное количество пользователей SSH с жесткими ограничениями; у них есть учетная запись только для перенаправления портов.
У меня возникает вопрос, могу ли я настроить некоторые параметры конфигурации в SSH, чтобы каждый раз, когда один из этих ограниченных пользователей входит в систему, им автоматически перенаправлялось количество портов хоста.
Идея заключается в том, что на создаваемом мной веб-сайте просто есть список URL-адресов, указывающих на http: // localhost: ПОРТЫ. Я заглянул в «EscapeChar» и полагаю, что мог бы настроить сценарий, который перенаправляет порты, используя что-то похожее на «~ C-L PORT: localhost: PORT».
Есть что-нибудь попроще? Я что-то упустил?
Я не верю, что вы можете что-то сделать на стороне сервера для перенаправления портов. Я почти уверен, что вам нужен клиент для настройки переадресации портов.
Клиентские туннели SSH можно довольно легко настроить в конфигурации клиента.
Если вы хотите ограничить пользователей определенной командой и определенными портами, которые они могут запрашивать открытыми, вы можете использовать команду и опцию allowopen в файле authorized_keys. См. Подробную информацию на странице руководства sshd.
Я не совсем понимаю, что вы хотите, но если вы используете шифрование с открытым ключом, возможно, вы могли бы использовать command="xxxx"
параметр к публичному ключу. Видеть man sshd
для подробностей об этом.
В качестве альтернативы есть ssh -f
(плюс соответствующие другие параметры), чтобы поместить ssh в фоновый режим, но это не похоже на то, что вы хотите.
Вы также можете изучить PAM. Вы можете использовать PAM для запуска команды при входе в систему, специфичной для SSH. Видеть man pam
Больше подробностей.
Однако, как кто-то сказал, вероятно, у сервера нет способа перенаправить порты.
Что если вы настроили SSH-клиент .ssh/config
файл для создания форварда при использовании? Наверное, у меня нет локальных оболочек ...