Добрый вечер,
В настоящее время я пытаюсь немного глубже погрузиться в 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 и начал думать, как я могу решить эту проблему.
Я подумал о двух способах справиться с этим.
- Разрешить
мерзавец
доступ к пользователю без пароля и открытие соединения с гит@10.0.0.4
(это работает? Работает ли клиентский ssh-агент в этом случае? Может ли злоумышленник выйти из внутреннего ssh-соединения и сделать что-то на сервере №1?)
- Сервер №3 регулярно подключается к Серверу №1 и обновляет
авторизованные_ключи
файл (тогда мне пришлось бы писать второй скрипт в команда
расположение, которое затем открыло бы соединение с Сервер №3
. Это было бы медленнее, потому что пользователю приходится ждать, пока сервер №3 синхронизируется с сервером №1)