Я обнаружил множество сайтов, объясняющих переадресацию ssh-порта , обратный прокси-сервер ssh , мультиплексирование ssh и т. Д., Включая sshpiper
, sslh
, запуск сервера ssh socks , , просто настройка локального SSH-сервера и т. д., поэтому я довольно озадачен и могу задать очень распространенный и / или простой вопрос:
Как вы уже могли догадаться из заголовка, я хочу настроить git-сервер (GitLab) внутри контейнера Docker, прослушивающего SSH-соединения через порт 22 * 1015 * без необходимости использовать другой порт для операций ssh по умолчанию (терминал, scp и т. д.) на хосте (как предложено здесь )
Т.е.
ssh alice@myserver.org
все еще должно быть возможно, также как git clone git@myserver.com:path/to/project
- и я не хочу выполнять какие-либо настройки на клиентском компьютере
Если вы предпочитаете картинку:
+------ myserver.org --------+
| +----+ +- typical -+ |
+--------+ alice@myserver.org:22 | | | | SSH | |
| client | ----------------------> -+--+----+---->| service | |
+--------+ all names but `git` | | ? | +-----------+ |
| | | |
| | ? | +- docker --+ |
+--------+ git@myserver.org:22 | | | | with | |
| client | ----------------------> -+--+----+---->| GitLab | |
+--------+ only user `git` | | | | | |
| +----+ +-----------+ |
+----------------------------+
Можете ли вы сказать мне, каков рекомендуемый / самый распространенный способ сделать это? Этот вопрос звучит многообещающе, но ответ, кажется, настраивает клиента (которого я хочу избежать)