haisenberg_ex
@haisenberg_ex
Fullstack developer

Создание jump host сервера. Доступ открывается на Remote Server напрямую хотя моего локлаьного pub_key на Remote Server'e нету, почему так происходи?

Пытаюсь разобраться с ssh и с тем как это работает. Нужно создать Jump server, схема простая:
local machine --> jump_host_server --> Remote server
Всё должно быть очень просто:
  • На Jump Server хранится мой pub key
  • На Remote Server хранится pub key Jump Server'а
  • Мой локальный pub key НЕ хранится на Remote Server
  • Доступ должен быть разрулен через authorized_keys на jump server

Какие шаги я предпринял:
  • На сервере который играет роль Jump Server в authorized_keys я добавил свой pub_key и добавил настройки command="echo 'No command'",no-pty,port-forwarding,permitopen="remote_server_ip_address:22" ssh-rsa AAAAB3N
  • На Remote Server я добавил в authorized_keys pub_key jump server'а

Доступ должен происходить посредством команды ssh -J jump_server@ip_address remote_server@ip_address
И всё даже работает! Но.....
  • После этих манипуляций я могу зайти на ssh remote_server@ip_address напрямую, что как бы очень плохо и не должно происходить (я не создавал алиасы в ~/.ssh/config если что).
  • Если удалю pub_key jump_server'а с Remote server'а то и я не смогу подключиться к remote_server@ip_address напрямую
  • Но как только я верну pub_key Jump Server'а в authorized_keys на Remote Server, то я обратно получаю ПРЯМОЙ доступ через ssh remote_server@ip_address

Немного подытожив:
  • Доступ к Remote Server должен происходить исключительно через Jump Server
  • Права доступа к Remote Server'ам должны разруливаться через authorized_keys на Jump Server
  • Пользватель не должен иметь доступ к Jump Server, только использовать его как что-то вроде Proxy для перехода к другим удалённым серверам. Что разруливается через authorized_key через command="echo 'No command'",no-pty(блокируем консоль (no-pty), и команда на исполнения будет echo)
  • Контроль доступа к Remote Server'ам осущетсвляется через настройку permitopen="remote_server_ip_address:22" в authorized_keys для каждого pub_key индивидуально

И главные вопросы:
  1. По какой причине я имею прямой доступ через ssh remote_server@ip_address, если моего pub_key не хранится в authorized_keys на Rempte Server'e?
  2. Если я закоментирую на Jump Server'е в authorized_keys свой pub_key, я не могу получить доступ к Remote Server через команду ssh -J jump_server@ip_address remote_server@ip_address, но получаю доступ напрямую через ssh remote_server@ip_address что происходит?
  • Вопрос задан
  • 918 просмотров
Пригласить эксперта
Ответы на вопрос 1
@tamogavk
@deni4ka
Ядерно странная схема, какой смысл делать js если снаружи на rs все равно есть доступ? а учетки разные при ssh на js и при ssh на rs?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы