Переадресация SSH-соединений на основе имени пользователя - PullRequest
0 голосов
/ 11 июня 2018

Я обнаружил множество сайтов, объясняющих переадресацию 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`       |  |    |     |           |  |
                                      |  +----+     +-----------+  |
                                      +----------------------------+

Можете ли вы сказать мне, каков рекомендуемый / самый распространенный способ сделать это? Этот вопрос звучит многообещающе, но ответ, кажется, настраивает клиента (которого я хочу избежать)

1 Ответ

0 голосов
/ 12 июня 2018

Прежде всего, спасибо за чтение Блог TheDockerExperts , надеюсь, наши статьи помогут вам!Позвольте мне объяснить, как мы используем SSH-прокси в нашей компании.

У нас есть HAproxy, который прослушивает порт TCP 22 и отправляет трафик на сервер GitLab, на хосте у нас есть собственный порт SSH.К сожалению, так как мы используем балансировку TCP в этом случае, нет способа создать балансировщик на основе доменных имен и пользователей.Вы можете взять небольшой VPS, раскрутить HAproxy и использовать его для балансировки вашего GIT-трафика.Надеюсь, что это поможет вам!

...