Назад | Перейти на главную страницу

Предоставляете root ssh-доступ к виртуальным серверам за NAT?

Мы веб-хостинговая компания. У нас есть 4 сервера, на которых работает OpenVZ поверх CentOS. На каждом сервере работает около 50 контейнеров.

Мы планируем предоставить root-доступ по ssh некоторым клиентам (около 50). Все эти 50 пользователей будут разрабатывать и размещать модули единого веб-сайта. Например, есть сайт xyz.com Теперь будет модуль xyz.com/module1 это module1 будут размещаться у разных разработчиков и в разных контейнерах. Точно так же будут и другие модули, разработанные разными разработчиками и размещенные в других контейнерах. Проблема в том, что эти контейнеры работают за брандмауэром NAT. Есть публичный I.P для xyz.com.

Мы не хотим делать переадресацию портов, так как это откроет ненужные порты в брандмауэре.

Мы думали о пересылке всех ssh-запросов на xyz.com в один контейнер (ssh-temp), а затем разрешить ssh другим контейнерам только из контейнера ssh-temp. Но этот подход неосуществим, поскольку пользователи будут иметь root-доступ к своим контейнерам и смогут изменять правила брандмауэра.

Есть ли лучший подход для выполнения этой задачи. Я думал о схеме, в которой пользователь мог бы запускать такую ​​команду, как:

ssh user@module1.xyz.com

Затем пользователь будет перенаправлен на этот конкретный модуль. Как мне добиться такой схемы?

Спасибо

Изменить: я понимаю, что предоставление корневого доступа к контейнерам в сети - плохая идея, но на данный момент это принуждение, а не выбор.

Может быть, вы ищете что-то вроде шлюза SSH?

Шлюз SSH работает путем принудительного подключения ssh к другому хосту с определенным именем пользователя на основе ключа ssh. Предполагается, что между внутренними хостами и Интернетом есть шлюз, на котором работает ssh. - http://quark.humbug.org.au/publications/ssh/ssh-tricks.html

Этот вопрос связан с: Существует ли обратный прокси-сервер SSH на основе имени виртуального хоста?