Назад | Перейти на главную страницу

Возможна настройка ssh-туннеля через шлюз?

локальный -> шлюз (включен только порт 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-туннель через шлюз.