Назад | Перейти на главную страницу

SSH-туннель от порта 80 кажется заблокированным

Я не администратор сервера, но из-за того, что я занимаюсь программированием Facebook Connect, мне нужен общедоступный URL-адрес на порту 80 для пересылки в мою локальную среду разработки. Итак, у меня есть веб-сервер на базе Centos, и я остановил службы httpd (и nginx), но когда я пытаюсь подключиться к SSH-туннелю с порта 80, он не работает. Насколько я могу судить, он работает на любом другом порту.

Вот в основном команда, которую я выполняю:

ssh -v -p 22 -nNT4 -R *:80:localhost:3000 username@http://myurl.com

Порт 80 как-то привязан к серверу? Я должен выпустить это что ли? Я огляделся и увидел, что это может быть связано с настройкой GatewayPorts в моем sshd_config - в данный момент для него установлено «Да».

Спасибо заранее за любые советы!

Кэмерон

Как обычный пользователь (без полномочий root), вы не можете подключаться к портам <1024.

Используйте netstat -lnp | grep ": 80", чтобы узнать, прослушивает ли что-нибудь порт 80.

Как упоминал Билл Вайс, вам нужно подключиться к удаленному ящику по ssh как root, чтобы у вас было разрешение на привязку к порту ниже 1024.

Кроме того, вам потребуется включить GatewayPorts в sshd_config на общедоступном сервере. Без этого sshd позволит ему привязаться только к адресу обратной связи.

GatewayPorts Указывает, разрешено ли удаленным узлам подключаться к портам, перенаправленным для клиента. По умолчанию sshd связывает переадресацию удаленного порта с адресом обратной связи. Это предотвращает подключение других удаленных хостов к перенаправленным портам. GatewayPorts можно использовать, чтобы указать, что sshd должен разрешать переадресацию удаленных портов для привязки к адресам без обратной связи, таким образом позволяя другим хостам подключаться. Аргумент может быть no'' to force remote port forward- ings to be available to the local host only,да '', чтобы принудительная переадресация удаленного порта привязывалась к подстановочному адресу, или clientspecified'' to allow the client to select the address to which the forwarding is bound. The default isнет ''.

Также, 'http://www.myurl.com/'в вашем примере также должно быть просто именем хоста (без http: //)

Можете ли вы запустить nc -l 80? Если есть что-то еще, использующее порт, вы должны получить "nc: Address already in use"