Есть ли способ заставить OpenSSH (или создать какой-либо прокси-сервер) перенаправлять одного пользователя на одну машину, а другого пользователя на другую машину только по имени пользователя, которое он (или она) предоставил ?
У меня следующая проблема: я собираюсь запустить GitLab в контейнере Docker и одновременно SSH-сервер на хост-машине. GitLab слушает SSH-соединения, но его интересует только "git" но не было ответа, решающего эту проблему - наиболее полезным оказался вариант, предлагающий настраиваемую оболочку, но я не нашел способа создать что-то подобное.
Туннелирование TCP-порта SSH настраивается клиентом ssh. На сервере вы можете ограничить конфигурацию туннелирования, используя allowopen=host:port
в ключах authorized_keys.
Другим способом перенаправления трафика будет использование Netfilter/iptables с -m владельцем --uid-владельцем $UID
и DNAT целью.