Используйте реальный браузер вместо w3m в соединениях SSH

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

К сожалению, с w3m не так легко справиться, так как на странице есть несколько больших меню и используется jQuery. Поэтому мне интересно, можно ли использовать браузер на рабочем столе для подключения к серверу через SSH с реальным браузером (Firefox или Chrome).

По сути, это потребует подключения с помощью браузера на моем рабочем столе к серверу через SSH с username и password и открытия на этом сервере localhost.

Возможно ли это по умолчанию или есть какие-то дополнения для Firefox / Chrome? Я бы предпочел Firefox.

10
задан 27 January 2011 в 11:30

3 ответа

Вы можете использовать перенаправление X через SSH, чтобы любые приложения X, которые вы запускаете на сервере, отображались на вашем персональном компьютере.

  1. При подключении по SSH к серверу добавьте флаг -X. Например, ssh -X myserver.
  2. Установите браузер с графическим интерфейсом на сервере и просто запустите его. Вывод появится на вашем персональном компьютере через переадресацию X и безопасное соединение SSH.
0
ответ дан 27 January 2011 в 11:30

Использовать переадресацию порта ssh.

Подключитесь к удаленному серверу примерно так:

ssh -L 8080:localhost:80 user@remoteserver

Теперь укажите локальному браузеру localhost: 8080. Он должен быть перенаправлен на localhost: 80 на удаленном сервере.

0
ответ дан 27 January 2011 в 11:30

ЧАСТЬ 1

Создайте прокси-сервер socks с помощью ssh!

ssh -D 9999 user@remoteserver

Теперь откройте настройки Firefox, перейдите в «Дополнения»> «Сеть»> «Настройки». Выберите Ручная настройка прокси. Поставьте localhost для хоста SOCKS, поставьте 9999 для порта. Проверьте это, зайдя на http://whatismyip.org или на другой подобный сайт.

Поскольку вы сказали, что пытаетесь получить доступ к веб-странице на локальном хосте (относительно вашего сервера), вы можете не захотеть исключать локальный хост и 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 к моему домашнему интернету.)

0
ответ дан 27 January 2011 в 11:30

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

Похожие вопросы: