Використовуйте справжній браузер замість w3m на підключеннях SSH


10

Я використовую Ubuntu як настільну та серверну ОС. Коли я увійшов на сервер через sshна terminalі мати для перегляду веб-сторінок (локальний) на використання сервера я w3m ( w3m localhost).

На жаль, w3m не так просто обробляти, оскільки на сторінці є великі меню та використовується jQuery. Тож мені цікаво, чи можна використовувати браузер на моєму робочому столі для підключення до сервера через SSH з реальним браузером (Firefox або Chrome).

В основному потрібно буде підключитися з браузером на моєму робочому столі до сервера через SSH з usernameта passwordі відкрити на цьому сервері localhost.

Чи можливо це за замовчуванням чи є додатки для Firefox / Chrome? Я вважаю за краще Firefox.


Не відповідь на ваше запитання, але ... як щодо використання переадресації X ?.
Хав'єр Рівера

1
Чому ви не можете підключитися до віддаленого сервера через http? Вам спеціально потрібен запит походження з localhost для тестування? @Javier X переадресація, особливо для Firefox, є великою пропускною здатністю, і я не рекомендував би її для не локальних з'єднань.
Карстен Тієль

З одного боку, це для тестування, тому він повинен бути localhost. З іншого боку, віддалений сервер не знаходиться в локальній мережі, і його не можна отримати через звичайний http.
Піт

Так, пропускна здатність викликає занепокоєння при пересиланні X.
Хав'єр Рівера

Відповіді:


14

Використовуйте переадресацію ssh-порта.

Підключіться до віддаленого сервера чимось так:

ssh -L 8080:localhost:80 user@remoteserver

Тепер вкажіть свій локальний браузер на localhost: 8080. Його слід переслати на localhost: 80 на віддалений сервер.


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

6

ЧАСТИНА 1

Зробіть проксі-шкарпетку з ssh!

ssh -D 9999 user@remoteserver

Тепер відкрийте свої налаштування Firefox, перейдіть у розділ Додатково> Мережа> Налаштування. Виберіть Ручна конфігурація проксі. Покладіть localhost для хоста SOCKS, поставте 9999 для порту. Перевірте це, перейшовши на http://whatismyip.org або на якийсь подібний сайт.

Оскільки ви сказали, що намагаєтесь отримати доступ до веб-сторінки у localhost (щодо вашого сервера), можливо, ви не хочете виключати localhost та 127.0.0.1 з використання проксі. Звичайно, ви можете просто використовувати локальний ip сервера.

Якщо вам не подобається моє пояснення, ці посилання пробігали мою пам'ять під час написання цього:

http://linux.die.net/man/1/ssh

http://embraceubuntu.com/2006/12/08/ssh-tunnel-socks-proxy-forwarding-secure-browsing/

https://calomel.org/firefox_ssh_proxy.html

ЧАСТИНА 2

Помилка, яку ви отримали, channel 3: open failed: connect failed: Connection refusedабсолютно не має нічого спільного з ssh. Мабуть, ви намагаєтеся отримати доступ до якоїсь речі mysql. Це викликає додаткову проблему, оскільки mysql за замовчуванням блокує доступ із ssh-тунелів. Я не роблю mysql, тому не знаю, про що я говорю в іншому. Я просто цитую відповідні біти посилання в кінці, які ви повинні прочитати.

Відкрийте /etc/mysql/my.cnf і знайдіть розділ [mysqld]. Якщо ви бачите рядок "пропустити мережу", прокоментуйте його. Додайте "bind-address = 127.0.0.1" (без лапок, звичайно).

http://www.debuntu.org/port-forwarding-and-channel-3-open-failed-connect-failed-Connection-refused

Частина 3

Рішення ssh -L 8080:localhost:80 user@remoteserverХав'є є фантастичним, якщо вам просто потрібен доступ до одного місця. Це дозволяє вам отримати доступ до localhost, а решту вашого Інтернету залишає в спокої. Моє рішення з ssh -D йде далі і фактично спрямовуватиме всі ваші запити http на віддалений сервер. Очевидно, що ви насправді цього не хочете. Але я вважаю його корисним, коли хотів отримати доступ до http до всіх машин у мережі або коли я не хотів, щоб мої http-запити проходили через мережу, до якої я підключений (тобто, Інтернет-банкінг у Starbucks. Весь мій трафік йде через тунель ssh до мого домашнього Інтернету.)


На запит «локальний» в FireFox я отримую повідомлення про помилку в терміналі , де я відкрив з'єднання SSH: channel 3: open failed: connect failed: Connection refused. Я не встиг його заглянути, але, мабуть, ви знаєте, що це може бути?
Піт

Щойно я побачив на сторінці man ssh, що вам потрібно користуватися root, щоб скористатися -Dпараметром. З цієї причини це не вийшло і не буде працювати, оскільки я не можу підключитися як root до сервера (з міркувань безпеки).
Піт

Що? Я використовував це весь час як звичайний користувач на обох кінцях тунелю. О Я бачу. Ви повинні мати root, якщо ви намагаєтесь використовувати порт на зразок 80, 21 або будь-який інший зарезервований порт IANA. Все, що перевищує 1024, повинно бути добре. Я думаю, що помилка стосується блокування вашого ssh.conf вперед. Я зараз гуглю по цих лініях.
djeikyb

Я переглянув вашу помилку і придумав цю статтю, в якій говориться про те, що mysql має "функцію" безпеки, яка за замовчуванням блокує доступ від порту вперед. debuntu.org/…
djeikyb

2

Ви можете використовувати переадресацію X через SSH, щоб будь-які додатки X, запущені на сервері, відображалися на вашому персональному комп’ютері.

  1. Під час підключення з SSH до сервера додайте прапор -X. Наприклад, ssh -X myserver.
  2. Встановіть на сервер веб-переглядач і просто запустіть його. Вихід з’явиться на вашому персональному комп’ютері через переадресацію X та безпечне з'єднання SSH.

Як згадував Карстен у своєму коментарі до мого запитання щодо того, що віддалений сервер відсутній у моїй локальній мережі, як щодо пропускної здатності?
Піт

Вам потрібно буде визначити свої вимоги до пропускної здатності. Якщо цього не зробити, ви можете перейти і подивитися, як це працює.
user4124
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.