Использование 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, но это может быть общая учетная запись, так как "прокси-имя пользователя" все еще указывается на стороне клиента.