SSH Туннели

Есть два хоста: в нашей локальной сети - ip 10.10.10.2 и удаленный -ip 31.23.54.45.

 Переброс порта с удаленного хоста на  порт хоста в нашей  локальной сети(С удаленного хоста можно будет законнектиться на хост в нашей локальной сети как на 127.0.0.1/localhost). 

На локальном хосте:

$ ssh -R 3380:127.0.0.1:80 username@31.23.54.45

После этого если выполнить на 31.23.54.45:

$ telnet localhost 3380

то мы подключимся к 80 порту хоста в нашей  локальной сети 10.10.10.2.

 

 Проброс порта с локального  хоста в нашей  локальной сети  на порт удаленного хоста.(Наоборот.)

$ ssh  -L 3380:127.0.0.1:80 nameuser@31.23.54.45

 

После этого если выполнить на 10.10.10.2:

$ telnet localhost 3380

то мы подключимся к 80 порту 31.23.54.45.

Можно использовать ключи по вкусу:

$ ssh  -f -N -L 3380:127.0.0.1:80 nameuser@31.23.54.4

-f - фоновый режим;

-N - без возможности выполнения команд в рамках этой ssh сессии.

Разумется, так поступать можно с любыми портами, в пределах разумного.