Хорошо, я полностьюпустойв этот странный мир.
Допустим, я могу получить доступ к удаленному серверу ssh (серверу, который имеет no GUI
и no monitor
не имеет internet
подключения) с помощью терминала в Ubuntu (мой ПК с графическим интерфейсом). У меня просто нет подключения к Интернету на моем ПК, но я могу получить доступ к Интернету сервера (у которого нет графического интерфейса и монитора) с помощью Elink
текстового браузера только в терминале.
Я также мог бы сохранить любой файл на этом удаленном сервере ssh, используя wget
команду в терминале. Он не сохраняет файл на моем жестком диске, потому что я получаю доступ к другому серверу (у которого нет графического интерфейса).
Но я хочу получить доступ к Интернету этого сервера (у которого нет графического интерфейса) на моем Firefox. Я застрял с браузером elink (текстовый браузер shi*). Пожалуйста, дайте мне знать, возможно ли получить доступ к этому Интернету на моем Firefox?
Помощь, безусловно, будет оценена по достоинству!!
решение1
Вы можете добиться этого с помощью SOCKS
прокси. Используйте -D
опцию С OpenSSH
ssh
клиентом:
ssh -fND 12000 <REMOTE_IP>
Он создаст локальный SOCKS
прокси на порту 12000
, вы можете выбрать другой порт, если хотите. -fN
это поместить ssh
команду в фоновом режиме, так как все, что мы хотим сделать, это просто создать SOCKS
прокси. В firefox
go to Edit->Preferences->Advanced->Network->Settings
, проверьте Manual proxy configuration
, поставьте localhost
и SOCKS host
поставьте 12000
рядом Port
с ним. С этого момента вы должны иметь возможность доступа в Интернет firefox
через удаленный хост. Это классическая форматуннелирование. Это особенно полезно для обхода слишком назойливых брандмауэров или для защищенных соединений в интернет-кафе и т. д. Если вы чувствуете, что вам это нужно чаще, вы можете автоматизировать весь процесс с Firefox
помощьюmozrepl аддон. Например, я использую следующий скрипт:
#!/usr/bin/env sh
ssh -4 -fND 12000 home
# modify firefox settings with mozrepl
(echo "prefs = Components.classes[\"@mozilla.org/preferences-service;1\"].getService(Components.interfaces.nsIPrefBranch)"; echo "prefs.setIntPref(\"network.proxy.type\", \"1\")"; sleep 2) | telnet 127.0.0.1 4242 > /dev/null
# got to http://v4.ident.me/ to make sure that IP changed
(echo "content.location.href = 'http://v4.ident.me/'"; sleep 2) | telnet 127.0.0.1 4242 > /dev/null
Также обратите внимание, что вы можете использовать локально созданный SOCKS
прокси-сервер во многих других программах, например, в почтовых клиентах, которые не поддерживают SOCKS
прокси-сервер «из коробки», используя tsocks
оболочку.