Предположим, у вас есть два сервера в сети компании.
С локального сервера "L1" вы имеете доступ к удаленному серверу "R1" через ssh по порту 22.
Сервер R1 содержит веб-сервис, но брандмауэр/NAT/whatever блокирует прямой доступ к порту 80.
"R1" не может получить прямой доступ к "L1" из-за проблемы NAT.
с L1 вы подключаетесь (один и тот же пользователь на обоих хостах)
ssh -L 10080:localhost:80 -R 10022:localhost:22 R1
теперь,
-L 10080:localhost:80
локальный просмотр на 10080 будет перенаправлен на удаленный хост (R1), localhost (например, удаленный 127.0.0.1) на порт 80, таким образом, вы можете просматривать удаленный хост (R1), хотя он заблокирован брандмауэром/NAT.
-R 10022:localhost:22
удаленное использование порта 10022 будет перенаправлено на порт 22 localhost (L1), вы можете инициировать scp/ssh с удаленного на localhost. (используя scp -P 10022 file localhost:
(обратите внимание на верхние -P
) )
Это фактически командная строка, которую я использую с ноутбука Ubuntu (14. 04) ноутбука для перехода на производственный сервер (я могу firefox на localhost:10080 и использовать scp с сервера на localhost:10022, чтобы вернуть файл )
теперь ваш IP
192.168.1.1 L1
172.17.17.1 R1
вы используете
ssh -L 10080:172.17.17.3:80 -R 10022:192.168.1.5:22 \
-L 192.168.1.9:8888:172.17.17.9:9999 R1
теперь
эти настройки можно использовать на putty/bitwise client
что насчет
-R 8000:localhost:80
это читается как
-R
remote8000
port 8000 (удаленный порт 8000 ... )localhost
(удаленный порт 8000 goest to localhost ... . )80
(удаленный порт 8000 переходит на порт 80 локального хоста)