локальный -> шлюз (включен только порт ssh) -> удаленный
Я могу ssh на шлюз, а затем на удаленный, без проблем.
Могу ли я установить ssh-туннель между локальным и удаленным через gataway? Я хотел бы получить доступ к local: 9980, который будет перенаправлять на удаленный: 9980 через шлюз. Меня беспокоит, что туннель, использующий порт 22 на шлюзе, будет проблемой для других пользователей ssh.
Спасибо
Это зависит.
Ваш шлюз - это настоящий шлюз / маршрутизатор? или это шлюз / сервер?
Если это шлюз / маршрутизатор, вы можете использовать переадресацию портов или NAT. Я бы дал вам инструкции, но это зависит от ОС / производителя. По сути, у вас есть шлюз / маршрутизатор, который прослушивает порт 22, и вы пересылаете его на destination:9980
, пока место назначения слушает 9980, это должно работать автоматически.
Если это шлюз / сервер (при условии, что он основан на Linux), вы можете использовать правило IPTABLES NAT или обратный туннель ssh (который должен быть инициализирован с конечной точки).
ПРИМЕР IPTABLES NAT:
iptables -t nat -I PREROUTING --src 0/0 -p tcp --dport 22 -j REDIRECT --to-destination $destination_ip --to-ports 9980
Это будет принимать любой входящий трафик с любого адреса для порта 22 и перенаправлять его на ваш $ destination_ip на порт 9980 автоматически.
ПРИМЕР ОБРАТНОГО ТУННЕЛЯ SSH:
destination# ssh -R 9980:localhost:22 user@gateway
Это устанавливает слушателя на шлюзе, который отображает все, что gateway:9980
указать на destination:22
Для вас, если вы подключаетесь к своему шлюзу как обычно:
local# ssh user@gateway
После этого вы сможете вручную подключиться к место назначения от твоего шлюз по мере необходимости, а не автоматически
gateway# ssh user@localhost:9980
Если я правильно понял, вы можете сделать туннель SSH для remote
через ваш gateway
. Для этого:
ssh -L 9980:remote:9980 gateway
свяжет ваш локальный 9980 с удаленным портом 9980, используя ssh-туннель через шлюз.