С помощью openssh вы можете создавать зашифрованные туннели для направления трафика из одной точки в другую.
Вы можете использовать флаги -L и / или -R для выполнения задания.
Пример 1. Вы можете привязать локальный порт на клиентском ПК, который будет перенаправлен на другую машину, проходящую через SSH-сервер;
(ssh user@sshserver -L<local_port>:<remote_ip>:<remote_port>)
ssh user@192.168.1.1 -L8080:192.168.1.20:8090
Пример 2: Вы можете привязать порт на удаленном компьютере, который подключен к порту вашего локального компьютера, проходящему через SSH-сервер;
(ssh user@sshserver -R<local_port>:<remote_ip>:<remote_port>)
ssh user@192.168.1.1 -R8080:192.168.1.20:8080
Пример 3. Вы можете привязать локальный порт на клиентском компьютере, который будет перенаправлен на удаленный порт самого сервера SSH;
(ssh user@sshserver -L<local_port>:<sshserver>:<remote_port>)
ssh user@192.168.1.1 -L8080:127.0.0.1:8090
В первом примере выполните:
telnet 127.0.0.1 8080
на клиентском компьютере подключит вас к 192.168.1.20 через порт 8090 (это сеть сервера SSH!)
Во втором примере порт 8080 будет привязан (создан) на компьютере 192.168.1.20 (это сеть сервера SSH!), И он связан с локальным портом 8080 клиента SSH. Итак, 192.168.1.20 вы можете:
telnet 127.0.0.1 8080
и вы будете перенаправлены на 8080 клиентского компьютера SSH.
Третий пример похож на первый, но удаленный компьютер - это сам SSH-сервер, так что если вы:
telnet 127.0.0.1 8080
с вашего клиентского компьютера, вы будете подключены к порту 8090 SSH-сервера.