Использование 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?

1 ответ

Решение

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

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

Другие вопросы по тегам