Як я тунелюю та переглядаю веб-сторінку сервера на своєму ноутбуці?


55

Я запускаю веб-додаток на одному з моїх лабораторних серверів, і я вже налаштував перенаправлення X11 на ці машини. Інші члени лабораторії можуть пройти тунель через SSH та переглядати цей веб-додаток у своєму локальному браузері в домашніх умовах.

Я не можу. Востаннє я перевірявся з ними, мені майже нічого не потрібно робити.

Коли я набираю, 192.168.1.113/webappя нічого не отримую.

Якісь поради?

Дякую.


Я закінчив, використовуючи другий метод :)

ssh -L 8080:<server-ip-address>:80 <username>@<remote-addr> -N

@BlueXrider взагалі, так, на тему, так. Щось подібне, версії Ubuntu насправді не мають значення, це приблизно на тему, як Що таке торрент і як я можу його використовувати, що вважається темою. :)
jrg

Відповіді:


105

Є два способи зробити це за допомогою SSH.

Тунель Все з проксі-сервером SOCKS

Увійдіть до віддаленої машини за допомогою наступної команди:

ssh -D 8080 remote-host

Тепер перейдіть до налаштувань проксі-сервера вашого браузера та налаштуйте його на використання проксі-сервера SOCKS з ім'ям хосту 127.0.0.1та портом 8080(або будь-яким портом, який ви перейшли до -Dпараметра). Тепер усі сторінки, які ви завантажуєте у веб-браузері, будуть тунельовані через з'єднання SSH. Тепер ви можете мати доступ до приватної веб-сторінки так само, як і від віддаленого хоста.

Коли ви закінчите, поверніть налаштування проксі-браузера в норму.

Однією стороною цього методу є те, що весь інший трафік веб-браузера також буде проходити через з'єднання SSH. Зверху ви можете отримати доступ до віддалених серверів з їх справжніми іменами хостів та легко отримати доступ до декількох приватних сайтів.

Тунель єдиний порт.

Альтернативним методом є використання SSH для пересилання одного порту:

ssh -L 8080:server-hostname:80 remote-host

Тепер, якщо ви вказуєте веб-браузер http://localhost:8080/, ви повинні бачити вміст, http://server-hostname/як він би відображався у віддаленого хоста.

Перевага цього методу полягає в тому, що він залишає решту трафіку браузера в спокої. Мінусом є те, що деякі посилання можуть не працювати, якщо віддалений сайт використовує абсолютні посилання на URL. Якщо сайт здебільшого використовує відносні посилання на URL, то цього методу має бути достатньо.

В обох цих рішеннях немає нічого особливого в порту 8080. Ви можете використовувати будь-який номер вільного локального порту, який ви хочете, якщо ви пам’ятаєте використовувати той самий у sshвиклику та у веб-браузері.


3
Дякую. Це було дуже корисно! Мені вдалося це зробити так: ssh -L 8080:<server-ip-address>:80 <username>@<remote-addr> -Nщось подібне (другий метод).
CppLearner

Чи правильно, що я повинен налаштувати лише проксі-шкарпетки у першому методі (див.: Spareclockcycles.files.wordpress.com/2009/04/… ). Тобто це не спрацювало, якщо я вкажу http-проксі на 127.0.0.1:8080? Якщо це правильно, можливо, ви могли б відзначити у своїй чудовій відповіді, що потрібно встановити лише проксі-носки.
студент

Якщо ви користуєтеся Chrome (другий браузер?), Ви можете передавати параметр проксі для SOCKS5 безпосередньо при запуску: Chrome-браузер --proxy-server = "socks5: // localhost: 8080"
panticz.de
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.