SSH를 통해 트래픽을 터널링하는 로컬 SOCKS 프록시를 어떻게 설정합니까?


30

터널링을 지원하는 SSH 서버에 액세스 할 수 있고 * ubuntu를 실행하는 PC에서 인터넷에 도달하기 전에 해당 SSH 서버를 통해 트래픽을 터널링하는 로컬 SOCKS 프록시를 어떻게 설정합니까?

답변:


45

sshssh를 실행하는 서버에 연결할 때 사용 하는 바이너리는 -D플래그를 사용하여 SOCKS 프록시를 즉시 실행하는 것을 지원합니다 . 예:

ssh -D 1337 -f -C -q -N user@remote -p 22
  • -D 1337ssh포트 1337에서 SOCKS 서버를 로컬로 시작하도록 지시 합니다.
  • -f 프로세스를 백그라운드로 분기합니다.
  • -C 압축을 켭니다.
  • -q 여기서는 "Quiet mode"를 활성화합니다. 여기서 목적은 터널에 대한 것이므로 오류 출력 등에 대해서는 신경 쓰지 않습니다.
  • -N알 수 ssh없는 명령이 전송되지 않습니다 것을 ( -f우리가 이것을 지정하지 않으면 불평).
  • -p사용할 포트를 지정합니다. 분명히 이것은 22로 기본 설정되어 있으므로 위의 설명은 의미가 없지만 명확성을 위해 포함되었습니다.

SOCKS 서버가 시작되어 실행 중이면 응용 프로그램 (일반적으로 웹 브라우저)이 일반 인터넷이 아닌 로컬 SOCKS 프록시에 연결하려고하는지 확인하면됩니다.

Firefox 29 (여기로 설명되어 있음)에서는 메뉴 (오른쪽 상단에있는 세 가지 소시지)로 이동 한 다음 기본 설정> 고급> 네트워크> (연결)> 설정 ...으로 이동하면됩니다. 양말 필드를 작성하십시오! 프록시가 동일한 시스템에 있으므로 동일한 시스템에서 설정 한 포트를 사용 localhost하거나 127.0.0.1되돌릴 수 있습니다 .

DNS 요청도 터널링해야하는 경우 (필요하지 않은 경우 DNS 조회에서 방문하려는 웹 사이트가 표시됨) "원격 DNS"를 확인하거나에서 전체 구성을 수행 할 수 있습니다 about:config. 마지막 경우에는 열어서 다음 값을 설정하십시오.

network.proxy.socks : 127.0.0.1
network.proxy.socks_port : 1337
network.proxy.socks.remote_dns : true
network.proxy.socks_version : 5
network.proxy.type : 1

특정 도메인 또는 사이트를 터널링에서 제외하려면이 설정이 필요할 수도 있습니다.

network.proxy.no_proxies_on : localhost, 127.0.0.1, 192.168.0.0/24, .yourcompany.com

이 답변은 프랑스에서 작성되었지만 스웨덴을 통해 터널링되었습니다. :)


이것은 파이어 폭스에서만 작동합니다.
Braiam

4
Firefox와 관련이 없으며 Firefox 섹션을 서비스로 포함했습니다. 일반적으로 사람들이 SSH 터널링을 사용하기 때문에 SOCKS 프록시를 지원하는 모든 응용 프로그램에서 작동합니다 (ssh는 중요하지 않습니다).
pzkpfw

2
프록시를 사용하도록 브라우저를 설정하는 것입니다. 구글 크롬 을 사용한다면 우분투 의 네트워크 설정 에서 프록시를 선언해야합니다. 이것은 구글 크롬이 사용할 것입니다. 이것없이 프록시를 선언하기 위해 비공식 CLI 옵션을 사용할 수 있습니다. 그러나 몇 주 전에는 더 이상 불가능합니다.
MadMike

고마워요, 당신은 나를 지옥에서 나왔습니다. 약 10 시간 전에 답변을 제대로 읽지 못해서 도착했습니다 주의를 기울여야 -D하고 -p부분적으로해야합니다.
호수

또한 기억하기가 더 쉽습니다 :ssh -D 1337 user@host
Alcalyn
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.