Я могу использовать свой домашний компьютер A для подключения по SSH к серверу B, где доступ к внешней сети заблокирован. Другими словами, все запросы в Интернет из B выдают ошибку: сеть недоступна . Могу ли я перенаправить все эти запросы для прохождения через компьютер A, который имеет неограниченный доступ к Интернету?
Сервер B - это сервер, на котором размещен один из моих веб-сайтов. Я хочу скачать файлы, чтобы установить программное обеспечение. Но соединение заблокировано. Я был в состоянии передать файлы, но это было сложно, потому что версии программного обеспечения отличаются на A и B , поэтому зависимости были разными, и для A и B требовались разные файлы .
Я искал в интернете, и мне кажется, что мне нужен обратный туннель. Но я нашел только решения, когда порт перенаправлен . Но это не то, что мне нужно, так как я не хочу, чтобы Б имел доступ к А, а к Интернету.
источник
Ответы:
Вы можете запустить прокси на компьютере A, к которому затем подключится компьютер B, чтобы получить доступ к Интернету через компьютер A.
Что-то вроде этого
Установите прокси, такой как squid, на A, который прослушивает порт 3128, и затем вы можете подключиться к серверу ssh с помощью этого -
ssh -L 3128:127.0.0.1:3128 user@B
Это позволит B получить доступ к Интернету через A
источник
Просто добавьте еще несколько четких шагов к ответам @Lawrence и @ SpiRail.
Выполните настройку следующим образом:
Настройка на хосте A:
yum install squid
http_access deny all
затем добавьтеhttp_access allow all
в /etc/squid/squid.conf/etc/squid/squid.conf
следующим образом:Настройка на хосте B:
source /etc/environment
Теперь наша настройка завершена.
Создание SSH-туннеля с удаленной переадресацией портов
Запустите следующую команду SSH с хоста A
ssh -R 3129:localhost:3128 user@HostB
Если вы хотите создать постоянный SSH-туннель, вы можете использовать autossh следующим образом:
autossh -M 20000 -f -NT -R 3129:localhost:3128 user@HostB
Чтобы вышеуказанная команда autossh работала, у вас должна быть настроена настройка SSH Keys от HostA до HostB
Проверка интернета:
wget https://google.com
Диаграмма транспортных потоков :
источник
Ответ @Lawrence был достаточно хорош для меня, чтобы все обдумать. Но вот более подробные шаги, которые я использовал.
Я использовал это для использования моего ноутбука 4g ключ для маршрутизации Интернет на Raspberry Pi с фиксированной линией связи с Wi-Fi маршрутизатором.
Если ваш хост - Mac: установите squidman http://squidman.net/squidman/
(не только общий squid, у меня было слишком много проблем с его сборкой) Настройки по умолчанию мне показались достаточно хорошими.
подключиться к 4g подключиться к Wi-Fi - настройте статический IP-адрес на своем Wi-Fi и удалите адрес шлюза (если вы не делаете сложные действия), в противном случае вы получите два маршрута по умолчанию, и это очень раздражает. - убедитесь, что ваш маршрутизатор Wi-Fi не использует тот же диапазон 192.168.xy (в этом случае настройте другой «x»)
На пи
с помощью visudo добавьте текст:
Теперь wget будет работать и sudo apt-get, чтобы вы могли устанавливать пакеты.
Если вы хотите git, то здесь: /programming/128035/how-do-i-pull-from-a-git-repository-through-an-http-proxy
источник
visudo
здесь? Где вы добавляете текст? (Я не могу использоватьsudo
на своем веб-хостинге)