Рейтинг:0

Передайте SSH-соединение с другим сервером при подключении

флаг za

Добрый вечер,
В настоящее время я пытаюсь немного глубже погрузиться в Linux, чем я знаком.

Перейдем непосредственно к моей проблеме:
Во-первых, давайте поговорим о моей настройке.
У меня есть 3 сервера, каждый из которых имеет публичный IP-адрес.
Каждый сервер является частью VLAN.
Сервер №1 (vlan 10.0.0.2) не защищен брандмауэром.
Сервер № 2 (vlan 10.0.0.3) и сервер № 3 (vlan 10.0.0.4) полностью заблокированы из Интернета и доступны только из vlan.
Сервер №2 запускает контейнер KeyCloak. Однако это не имеет отношения к проблеме.
Сервер №3 должен служить моим git-сервером.
Обычно я просто создаю мерзавец пользователь, дайте ссылку авторизованные_ключи файл с одним из моих GitLab контейнер. Перед каждым открытым ключом будет стоять команда, которая затем передаст соединение демону ssh внутри контейнера.
Но поскольку сервер №3 недоступен публично, мне нужно принять входящее соединение ssh на сервере №1.
я создал мерзавец user и начал думать, как я могу решить эту проблему.

Я подумал о двух способах справиться с этим.

  1. Разрешить мерзавец доступ к пользователю без пароля и открытие соединения с гит@10.0.0.4 (это работает? Работает ли клиентский ssh-агент в этом случае? Может ли злоумышленник выйти из внутреннего ssh-соединения и сделать что-то на сервере №1?)
  2. Сервер №3 регулярно подключается к Серверу №1 и обновляет авторизованные_ключи файл (тогда мне пришлось бы писать второй скрипт в команда расположение, которое затем открыло бы соединение с Сервер №3. Это было бы медленнее, потому что пользователю приходится ждать, пока сервер №3 синхронизируется с сервером №1)
Michael Hampton avatar
флаг cz
3. Сделать сервер 3 общедоступным.
флаг za
@MichaelHampton, это совсем бесполезно и не то, о чем я спрашивал
Michael Hampton avatar
флаг cz
Это именно то, о чем вы спрашивали, и это самое простое и надежное решение.Если вы не хотите его рассматривать, вам следует подробно объяснить, почему вы не желаете этого делать.
флаг za
@MichaelHampton Я объяснил настройку своей сети и предположил, что будет ясно, что я хочу, чтобы сервер № 1 рассматривался как шлюз для всех остальных серверов, и он должен оставаться таким. Моя вина за то, что я прямо не заявил о своем намерении. Это в основном требование для всей установки. Это означает: если вы находитесь внутри сети, вы можете делать все, что захотите. Если нет, вам нужно получить к нему доступ через шлюз, используя предопределенные «маршруты» (например, пользователь ssh, который автоматически подключается к серверу git и т. д.) или подключившись через ssh.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.