Предположим, у вас есть
work:~#
home:~#
И работа:~ # это брандмауэр, который вы не можете контролировать
Когда вы пишете сервер, я вижу из контекста (сервер ssh -D 4096), что вы имеете в виду сервер SSH. (а не, например, VNC-сервер). Вы должны указать действительно, это понятнее. Обычно, если у вас есть SSH-сервер, он будет работать или дома. Он должен быть на компьютере с брандмауэром, которым вы можете управлять, то есть Home.
У вас также обычно есть обычный сервер, к которому вы хотите подключиться, и это обычно не сервер SSH. Хотя это может быть, есть вопрос с отличным примером того, где кто-то хотел бы, чтобы это было.
Возможно, вы можете объяснить больше, что такое сервер:~ #, но я собираюсь пропустить его пока, потому что это кажется ненужным, и неясно, что вы подразумеваете под этим, потому что если у вас есть сервер SSH, например, на работе, то Вы получите быструю работу:~ #
Итак, что вы делаете
Из того, что вы не можете контролировать, т.е. работать, вы создаете исходящее соединение. потому что брандмауэр выпускает их.
home:~# START VNC server on e.g. 5901
home:~# START SSHD SERVER on e.g. port 80 <-- whatever the command is to start your sshd.
work:~# ssh -R 1234:127.0.0.1:5901 user@homeip -p 80
home:~# vncviewer 127.0.0.1:1234
Дом видит работу.
на самом деле переключатели, которые нужно знать для SSH: -L, -R и -D
И если вы подключаете клиентскую программу к порту прослушивания таким образом, что клиентская программа находится на другом компьютере с вашим портом прослушивания, тогда она должна быть -R *:1234:127.0.0.1:5901
или 0.0.0.0:1234:127.0.0.1:5901
Хотя имейте в виду, что это что-то вроде VNC, но если вы сделали это для HTTP, вы сможете просматривать только один сайт. Существует -D, который, как вы видите, является локальным.
Некоторые люди дома и хотят получить доступ к серверу на работе, и этот сервер находится за брандмауэром, который они не контролируют.
Но если вам нужен доступ в Интернет, то вы на работе и хотите получить доступ к серверу дома.
Почему ты не можешь этого сделать?
Попробуйте запустить сервер SSHD через порт 80 или порт 443 дома и выполните work~:#ssh homeip -p 443