Теперь, если я не ошибаюсь, SSH-туннель порта 80 к веб-серверу на порту 80 должен позволить моему порту 80 проходить через этот сервер, правильно? Однако, когда я настраиваю туннель и получаю доступ к веб-сайту, мой журнал все еще приходит с моего домашнего компьютера, а не с IP-адреса сервера. Есть идеи почему?
Я использую следующую команду, но все, что она делает - это просто SSH на хост в терминале:
ssh root@webserver -L 80:127.0.0.1:80
ssh -f root@webserver -L LOCALPORT:HOST:REMOTEPORT-N
.-f
для ssh для перехода в фоновый режим,-N
говорит OpenSSH не выполнять команду в удаленной системе. Конечно, я надеюсь, что вы на самом деле не используетеroot
в качестве пользователя ...Ответы:
Просто попробовал это и подтвердил, что это работает:
Корень требуется для привязки локального порта 80 на вашем компьютере, так как это зарезервированный порт (а 8080 является общим альтернативным). Чтобы пересылать только трафик вашего браузера, вы можете установить Firefox / Chrome / Wh независимо от использования прокси-сервера Socks «localhost» на «8080».
Попробуйте без рута, у меня работает на веб-сервере, к которому у меня нет root-доступа.
источник
Как только туннель настроен (с
-L
), вам нужно изменить используемый вами URL-адрес, например,http://127.0.0.1/
или если имя сайта должно совпадать из-за настройки виртуального хостинга, вам нужно добавить это в файл hosts на вашем компьютере:Вы можете определить псевдоним на сервере vhost, чтобы вы могли использовать одно имя для 127.0.0.1, например «test.domain.com», и реальное имя для прямого перехода, если это когда-либо будет полезно - забыв удалить записи из файла hosts это хороший способ вызвать путаницу. Зависит от того, как работает сайт.
Для переадресации порта 80 вам нужен только root на рабочем столе, а не веб-сервер. Я настоятельно рекомендую не разрешать ssh вход в систему для root.
Использование непривилегированного порта может работать, опять же, в зависимости от вашего сайта:
и используйте URL
http://127.0.0.1:1080/
.Использование SOCKS proxy (
-D
) в соответствии с предложением может вызвать некоторые неожиданности в зависимости от конфигурации SOCKS / DNS / firewall / NAT.(В linux в качестве альтернативы для root для зарезервированных портов вы можете использовать возможности POSIX, см. Https://stackoverflow.com/questions/413807/is-there-a-way-for-non-root-processes-to-bind -to-privileged-ports-1024-on-l , однако это не будет работать на стандартных версиях OpenSSH, так как он имеет дополнительную жестко
NO_IPPORT_RESERVED_CONCEPT
заданную проверку номеров портов, если не скомпилировано с определенным. Ответы на связанный вопрос имеют различные другие решения для этого.)источник