У меня два ПК (А и Б, Оба работают под управлением Ubuntu 16.04), подключенных через локальную сеть. ПК-А подключен к Интернету. Я хочу работать в Интернете на ПК-B, используя туннелирование ssh.
Я использовал команду на ПК-B -
ssh -D 9999 user@IP_ADDRESS
Затем я установил HTTP, HTTPS, FTP-прокси пустой и SOCKS прокси "localhost" и порт 9999.
Если компьютер PC-A подключен к Интернету, не требуется настройка прокси, тогда я могу просматривать сеть на ПК-B, используя указанную выше команду.
Но если ПК-A имеет подключение к Интернету, что требует HTTP-прокси «xxx.yy.zz.zz» и порт 8080, тогда я не могу работать в Интернете с помощью указанной выше команды, и терминал показывает следующую ошибку:
"channel 3: open failed: connect failed: Connection refused".
Что я должен делать ? Любая помощь приветствуется.
Ответ на мой собственный вопрос:
Если у ПК-А есть подключение к Интернету с прокси-сервером (proxy_ip: port), и вы хотите получить доступ к Интернет-подключению ПК-А на ПК-В через подключение к локальной сети с помощью ssh, выполните эту команду в терминале:
ssh -L random_port:proxy_ip:port username_A@ip_Address_A
Возьмем пример:
ПК-А:
выбрал случайный порт, 7856 (Случайно)
затем в ПК-Б
ssh -L 7856:192.168.11.11:8080 linus@192.168.55.55
Затем измените настройки сети:
Теперь у вас есть подключение к Интернету.
Вы не думали запустить прокси-сервер, может быть, squid на ПК-А? Затем вы можете создать туннель от ПК-B на заданном порту к входному порту на ПК-A демона squid.
Затем вы можете настроить squid для использования другого прокси-сервера (http://www.christianschenk.org/blog/using-a-parent-proxy-with-squid/) или напрямую подключитесь к Интернету, в зависимости от того, что вам нужно.