Как соединиться с Интернетом через удаленный сервер через соединение SSH

У меня есть проблема в доступе к Интернету через ssh-доступный сервер

Ситуация

Править: К вашему сведению моей ОС является Ubuntu 16.04 и IIRC, то же как сервер.

Хорошо, вот соглашение.

  • Моя компания предоставляет мне ПК сетевым соединением (через прокси), но была ограничена некоторыми ресурсами в сети (я не могу ни добавить внешний PPA или apt-get update после ручного добавления их, ни не может получить доступ к некоторому разделу загрузки некоторых приложений, но все еще может установить пакет при помощи apt-get install или pip).
  • Кроме того, мой (выше) ПК имеет доступ к некоторым серверам моей компании через соединение SSH. У одного из них (сознательно) есть неограниченный доступ в Интернет (звучит странным, но что путь это). Я спросил своего босса, если я могу, так или иначе может заставить мой компьютер соединиться с Интернетом без ограничения через тот сервер, и он сказал мне, что это возможно, но он не знает как к. И к вашему сведению, хотя он не поощряет меня делать так, мне не запрещают.

Мой вопрос

Есть ли какой-либо способ, которым я могу сделать то, что я имею, просто описывают? От моего ПК, доступ (неограниченный) к Интернету через удаленный сервер (с неограниченным доступом в Интернет)

Что я попробовал до сих пор

Не очень, на самом деле, потому что я не знаю, как искать (трудно для размышления о ключевом слове) для проблемы. Большую часть времени я пытался сконфигурировать прокси, таким образом, я могу (частично) решить проблему (для PPA, я пытался добавить к source.list и добавьте знак, добавьте записи прокси в /etc/apt/apt.conf...). Все еще никакой леденец для ребенка. Если кто-либо должен видеть ошибку, сказать мне, но я хочу решить проблему полностью :(

Я благодарен любому предложению.Заранее спасибо!

4
задан 9 July 2018 в 13:34

4 ответа

Хорошо. Я имею, забыл об этом вопросе. Извините, я должен обновить ситуацию ранее.
Я попробовал часть вышеупомянутого предложения. Один из них работает, другие не сделали (некоторая ошибка, которую я не могу вспомнить, возможно, из-за моей конфигурации). Решение является вполне сложным (я должен погуглить немного для получения его реальные работы).

EA (множитель) решение

Затем один из моих коллег предлагает, чтобы я использовал sshuttle и в рамках единственной команды, я получил то, в чем я нуждаюсь. Все, что я должен сделать, открыть новый терминал, ввести sshuttle -r username@serverIP 0.0.0.0/0 и наслаждайтесь целым миром Интернета. Иногда это будет возвращать ошибку, и странно просто повторение заставляет его работать

0
ответ дан 1 December 2019 в 09:02

Попробуйте туннелирование/перенаправление портов 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 (мой имеет украинскую локаль): enter image description here

Если Вы хотите использовать прокси для способного, читайте, Настраивают прокси для 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"
5
ответ дан 1 December 2019 в 09:02

Два шага для Использования прокси носков

Прокси носков позволяет простому способу получить доступ к Интернету с помощью компьютера прокси. В этом случае сервер, который имеет неограниченный доступ к Интернету.

Шаг 1: носки Установки проксируют для рабочего стола

Это может быть сделано в браузере или системном уровне. Мы сделаем это на системном уровне так, чтобы любая программа, которая хочет получить доступ к Интернету, использовала прокси носков. Мы сделаем это с помощью командной строки.

Откройте терминал в своей настольной 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.

Шаг 2: 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, это выключит прокси.

Надеюсь, это поможет

3
ответ дан 1 December 2019 в 09:02

Другие ответы работают на вещи, которые имеют поддержку SOCKS в их конфигурации. Когда инструмент, который Вы хотите использовать, не имеет поддержки, можно использовать socksify от dante-client пакет.

ssh -fND 1080 $server
SOCKS_SERVER=127.0.0.1:1080 socksify git fetch
1
ответ дан 1 December 2019 в 09:02

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

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