У меня есть проблема в доступе к Интернету через ssh-доступный сервер
Править: К вашему сведению моей ОС является Ubuntu 16.04 и IIRC, то же как сервер.
Хорошо, вот соглашение.
apt-get update
после ручного добавления их, ни не может получить доступ к некоторому разделу загрузки некоторых приложений, но все еще может установить пакет при помощи apt-get install
или pip
).Есть ли какой-либо способ, которым я могу сделать то, что я имею, просто описывают? От моего ПК, доступ (неограниченный) к Интернету через удаленный сервер (с неограниченным доступом в Интернет)
Не очень, на самом деле, потому что я не знаю, как искать (трудно для размышления о ключевом слове) для проблемы. Большую часть времени я пытался сконфигурировать прокси, таким образом, я могу (частично) решить проблему (для PPA, я пытался добавить к source.list
и добавьте знак, добавьте записи прокси в /etc/apt/apt.conf
...). Все еще никакой леденец для ребенка. Если кто-либо должен видеть ошибку, сказать мне, но я хочу решить проблему полностью :(
Я благодарен любому предложению.Заранее спасибо!
Хорошо. Я имею, забыл об этом вопросе. Извините, я должен обновить ситуацию ранее.
Я попробовал часть вышеупомянутого предложения. Один из них работает, другие не сделали (некоторая ошибка, которую я не могу вспомнить, возможно, из-за моей конфигурации). Решение является вполне сложным (я должен погуглить немного для получения его реальные работы).
Затем один из моих коллег предлагает, чтобы я использовал sshuttle
и в рамках единственной команды, я получил то, в чем я нуждаюсь. Все, что я должен сделать, открыть новый терминал, ввести sshuttle -r username@serverIP 0.0.0.0/0
и наслаждайтесь целым миром Интернета. Иногда это будет возвращать ошибку, и странно просто повторение заставляет его работать
Попробуйте туннелирование/перенаправление портов SSH. Существует большая информация в Интернете. Чтение это: SSH/OpenSSH/PortForwarding и SSH, туннелирующий с человечностью.
Мне нравится использовать прокси носков SSH. Звон установки:
sudo apt install plink
Команда выполнения в Вашем локальном компьютере (клиент SSH) с ограниченным доступом к Интернету:
plink -ssh 111.111.11.111 -C -N -l user -D 127.0.0.1:8081
где 111.111.11.111
- IP-адрес Вашего удаленного SSH-сервера с неограниченным доступом и user
- Ваше имя пользователя SSH-сервера.
Это - все. Теперь у Вас есть прокси SOCKS - весь трафик через прокси будет зашифрован и направлен через Ваш удаленный SSH-сервер. Настройки для прокси: host 127.0.0.1
, port 8081
.
Добавьте это настройки, поскольку Ubuntu в масштабе всей системы проксирует настройки и сообщает браузерам, колотит и т.д. для использования системного прокси. Возможно добавить системный прокси с Параметрами настройки системы Ubuntu GUI (мой имеет украинскую локаль):
Если Вы хотите использовать прокси для способного, читайте, Настраивают прокси для APT?, только примите во внимание, что у Вас есть прокси носков, таким образом URL прокси должны быть socks4://127.0.0.1:8081
или socks5://127.0.0.1:8081
вместо http://127.0.0.1:8081
, например:
export http_proxy="socks4://127.0.0.1:8081"
Прокси носков позволяет простому способу получить доступ к Интернету с помощью компьютера прокси. В этом случае сервер, который имеет неограниченный доступ к Интернету.
Это может быть сделано в браузере или системном уровне. Мы сделаем это на системном уровне так, чтобы любая программа, которая хочет получить доступ к Интернету, использовала прокси носков. Мы сделаем это с помощью командной строки.
Откройте терминал в своей настольной Ubuntu с помощью Ctrl+Alt+T и введите следующие строки:
gsettings set org.gnome.system.proxy.socks host 'localhost'
gsettings set org.gnome.system.proxy.socks port 1080
gsettings set org.gnome.system.proxy mode 'manual'
Это направит весь Интернет-трафик через localhost:1080
.
ssh
с несколькими опциямиДавайте скажем, что сервер имеет IP-адрес aaa.bbb.ccc.ddd
и у Вас есть учетная запись пользователя в этом названном сервере user007
.
В терминале войдите:
ssh user007@aaa.bbb.ccc.ddd
Если это работает, Вы все установлены. ввести exit
возвращаться от сервера до рабочего стола. Теперь позволяет, делают это снова с некоторыми опциями:
ssh -CD 1080 user007@aaa.bbb.ccc.ddd
C
сжатия безотносительно передач между рабочим столом и сервером.D 1080
связывает локальный порт 1080 с сервером.Во-первых, выход из ssh
сессия. Если Вы добавляете -N
опция в ssh
необходимо будет использовать Ctrl+C.
Во-вторых, измените прокси на none
:
gsettings set org.gnome.system.proxy mode 'none'
Если Вы хотите быть необычными, можно объединить эти шаги в сценарий удара, но это сделает задание.
#!/bin/bash
gsettings set org.gnome.system.proxy.socks host 'localhost'
gsettings set org.gnome.system.proxy.socks port 1080
gsettings set org.gnome.system.proxy mode 'manual'
ssh -CD 1080 user007@aaa.bbb.ccc.ddd
gsettings set org.gnome.system.proxy mode 'none'
echo "Finished with the Internet, now back to work..."
Этот сценарий установит прокси носков, затем запуститься ssh
. Когда Вы выходите ssh
, это выключит прокси.
Надеюсь, это поможет
Другие ответы работают на вещи, которые имеют поддержку SOCKS в их конфигурации. Когда инструмент, который Вы хотите использовать, не имеет поддержки, можно использовать socksify
от dante-client
пакет.
ssh -fND 1080 $server
SOCKS_SERVER=127.0.0.1:1080 socksify git fetch