Возникли проблемы с переадресацией удаленного порта SSH

Все . Моя сеть колледжей почему-то запрещает входящие соединения. (Я могу SSH из сети, но не в нее.)

Я пытаюсь настроить SSH-туннель от моего школьного компьютера ("школа") к VPS "компьютеру" ("снаружи"), который находится за пределами школьной сети.

Я надеюсь добраться до точки, где я могу сделать

ssh -p 3000 name@outside

и в конечном итоге вошли в имя @ школы.

Вот как я пытаюсь настроить переадресацию удаленного порта:

[name@school]$ ssh -R *:3000:localhost:22 outside

Эта команда, кажется, работает. (Запуск этого с флагом -v дает

debug1: Remote connections from *:3000 forwarded to local address localhost:22
debug1: remote forward success for: listen 3000, connect localhost:22
debug1: All remote forwarding requests processed

что выглядит многообещающе.)

Тем не менее, когда я продолжаю с

ssh -p 3000 name@outside

это не работает:

ssh: connect to host outside port 3000: Connection refused

Я могу открыть netcat на внешнем сервере и прослушать порт 3000, а затем подключиться к нему с помощью netcat со своего школьного компьютера - это работает нормально. Если я пытаюсь создать SSH-туннель, скажем, снаружи:3000 до школы:2000, то я пытаюсь соединиться с netcat снаружи:3000, я получаю

nc: connect to outside port 3000 (tcp) failed: Connection refused

Вышеприведенная процедура также дает сбой, если я пробую ее между двумя компьютерами в школьной сети, поэтому я почти уверен, что проблема во мне, а не в компьютерах / сети.

Заранее большое спасибо за вашу помощь! (редактировать: извините, похоже, это должно идти на сервере?)

2 ответа

Межсетевой экран университета блокирует соединение. Это обычно предотвращает неправильное использование и предотвращает распространение вредоносных программ на серверы с помощью методов BotNet. Это та же самая причина, по которой большинство университетов блокируют IRC, так как он обычно используется для передачи данных мастеру.

Из вашего собственного комментария, что вы можете сделать ssh -p 3000 locahost и это работает, ваш метод действителен. Где-то вдоль линии ваше соединение с этим внешним хостом блокируется. Возможно, что школа по какой-то причине блокирует любой исходящий трафик через порт 3000, или на "внешнем" хосте, который блокирует соединение, существует брандмауэр / acl. Другая удаленная возможность заключается в том, что интернет-провайдер этой внешней стороны блокирует соединение.

Попробуйте подключиться к нему с другого внешнего хоста и посмотреть, работает ли он. Если это так, то ваша школа блокирует это (что было бы странно, но школьные сети обычно так и делают). В противном случае взгляните на правила брандмауэра на внешнем хосте, чтобы узнать, не блокирует ли он его. К сожалению, в последнем случае блокировки интернет-провайдера нет простого способа определить, является ли блокировка интернет-провайдером или самой машиной.

Другие вопросы по тегам