Настройка SSH Tunneling на FreeBSD

Приветствую!

Удобвства ради, решил создать для работы на удаленном сервер SSH тунель. А дело тут такое, что ничего подобного ранее я не делал.

Схема следующа:

Устройство с публичным IP адресом доступно по SSH (в моем случае, это Juniper SRX Series). Для простоты будет считатать его JunOS_Router. Устройство, которое находится за этим устройством (в моем случае, это Linux сервер RHES5), c приватным адресом. Назовем его Linux_Server.

Теперь о настройке удобств:

Ходить для начала я буду со своего сервера (FreeBSD, с публичным IP), будем называть его FreeBSD_Server.

Суть создания тунеля для того, чтобы единожды (в моем случае это не совсем так, потому что существует inactive timeout на  JunOS_Router) установить тунель на публичный адрес JunOS_Router. и затем ходить по специальному локальному порту FreeBSD_Server, который будет переадресовывать мое подключение уже на публично не доступный Linux_Server.

Сильно не вдаваясь в остальные ключи, скажу вам, слудющей команды будет достаточно для реализации тунеля. Делается это все на FreeBSD_Server.

ssh -g -N -f -L 5022:Linux_Server:22 [email protected]_Router

После этой команды, можно на FreeBSD_Server выполнить следующее:

ssh localhost -p 5022

Таким образом, мы будм переадресованы на Linux_Server порт 22.

-g      Allows remote hosts to connect to local forwarded ports.

-L [bind_address:]port:host:hostport             

Specifies that the given port on the local (client) host is to be             

forwarded to the given host and port on the remote side.     

-N      Do not execute a remote command. 

This is useful for just forwarding ports (protocol version 2 only).

-f      Requests ssh to go to background just before command execution.

Leave a Reply

Your email address will not be published. Required fields are marked *