У меня есть сервер в корпоративном центре обработки данных, системным администратором которого является я. На нем работает несколько виртуальных машин, главный сервер доступен из интернета через 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, но это может быть общая учетная запись, поскольку «прокси-имя пользователя» все еще указывается на стороне клиента.