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

использование ssh с netcat для переадресации соединений через хост-бастион на внутреннюю машину

У меня есть сервер в корпоративном центре обработки данных, системным администратором которого является я. На нем работает несколько виртуальных машин, главный сервер доступен из интернета через SSH. Есть люди, которые в локальной сети получают доступ к виртуальным машинам, чьи IP-адреса в локальной сети

192.168.1.1  
192.168.1.2  
192.168.1.3
192.168.1.4

основная машина, которая является бастионным хостом для Интернета, имеет IP 192.168.1.50, и только у меня есть к нему доступ. Я должен предоставить людям в Интернете доступ к внутренним машинам, чей IP-адрес я упомянул выше. Я знаю, что туннель - хороший способ, но люди довольно нетехнические и не хотят влезать в туннель и т. Д. Поэтому я наткнулся на решение, как объяснено на эта ссылка На шлюзе 192.168.1.50 в файле .ssh / config я добавляю следующее

Host securehost.example.com     
ProxyCommand ssh user@bastion.example.com nc %h %p

Теперь мой вопрос: нужно ли мне создавать отдельные учетные записи на хосте-бастионе (шлюзе) для тех пользователей, которые могут подключаться по SSH к внутренним машинам, и для каждого из пользователей .ssh / config Мне нужно сделать указанную выше запись или где именно я поместил .ssh / config на шлюзе.

Также ssh user1@gateway.com

где user1 существует только на внутренней машине 192.168.1.1, а не на шлюзе, это правильный синтаксис? Поскольку внутренние машины доступны для внешнего мира как

site1.example.com
site2.example.com
site3.example.com
site4.example.com

Но SSH предназначен только для example.com и только для одного пользователя. Итак, как мне выбрать .ssh / config
1) Каков правильный синтаксис для ProxyCommand на шлюзе .ssh / config, я должен использовать
ProxyCommand ssh user1@inside.machine nc %h %p или я должен использовать

ProxyCommand    ssh user1@gateway.com in nc %h %p

2) Должен ли я создавать новые учетные записи пользователей на шлюзе или достаточно добавить их в AllowedUsers на ssh_config?

Директива ProxyCommand должна быть указана на клиентском компьютере, а не на шлюзе, что усложнит задачу для ваших пользователей. В основном со стороны клиента вы говорите ssh userX@inside.machine, используя user@bastion.example.com в качестве прокси.

У каждого пользователя должна быть учетная запись ssh, но это может быть общая учетная запись, поскольку «прокси-имя пользователя» все еще указывается на стороне клиента.