양말이 아닌 ssh를 통한 http 프록시 아닙니다. ssh

질문은 간단하지만 답은 아닙니다.

ssh -D 8080 user@host

또는

ssh -gCNf -D 8080 user@host

또는

wathever with -D #

SOCKS를 지원하지 않는 임베디드 장치에서 http_proxy 변수와 함께 사용할 수있는 일종의 프록시가 필요합니다.

어떻게해야합니까?



답변

방법 1 : SOCKS 업스트림 (예 : Polipo 또는 Privoxy) 사용을 지원하는 HTTP 프록시를 사용하십시오.

먼저 -D항상 SSH를 통해 터널을 설정 한 다음 SSH 터널을 사용하도록 HTTP 프록시를 구성하십시오 (예 : Polipo 구성).

proxyAddress = "::1"
proxyPort = 8118
socksParentProxy = "localhost:8080"
socksProxyType = socks5

마지막으로 앱을 사용하여 Polipo를 가리 킵니다 http_proxy=localhost:8118.

방법 2 :torsocks 래퍼 (또는 이전 tsocks) 내에서 프로그램을 실행하면 모든 연결이 투명하게 프록시됩니다. Tor와 함께 사용하기위한 것이지만를 포함한 모든 SOCKS 서버에서 작동합니다 ssh -D.

방법 3 : 서버 에서 HTTP 프록시 설정 한 다음이를 사용 ssh -L하여 액세스하십시오.


답변

모든 -D결과는 SOCKS 서버입니다. 클라이언트가 SOCKS를 처리 할 수없는 경우 잊어 버리십시오 -D.

원격 호스트에서 HTTP 프록시를 실행하고 다음을 사용하여 전달해야합니다 -L.

ssh -f -N -n -L8080:127.0.0.1:8080 host


답변

SSH를 통해 HTTP 프록시를 사용하려는 것과 동일한 문제가 있습니다. 많은 응용 프로그램이 HTTP 프록시 만 지원하므로 명령 줄 환경에서 HTTP 프록시를 쉽게 사용할 수 있습니다.

여러 페이지를 검색했지만 직접 수행 할 수는 없습니다 (Polipo, Privoxy 또는 tsocks와 연결할 수 있음).

며칠간의 작업 끝에 SSH를 통해 간단한 Golang 버전의 HTTP 프록시를 완성했습니다. mallory 와 함께 자유롭게 연주하십시오 .

현재 RSA 키 ($ HOME / .ssh / id_rsa에 위치) 및 비밀번호 인증 만 지원합니다.

hostSSH 서버 주소입니다 port입니다 22귀하의 관리자에 의해 변경되지 않은 경우. 서버 측은 sshd구성이 전혀없는 오래된 친구 입니다.

mallory -engine=ssh -remote=ssh://host:port

또는 사용자 이름 user

mallory -engine=ssh -remote=ssh://user@host:port

또는 사용자 이름 user과 비밀번호1234

mallory -engine=ssh -remote=ssh://user:1234@host:port

연결되면 HTTP 프록시가 localhost : 1315에서 제공됩니다.


답변

ssh -L 8080:localhost:12345 user@host

그러면 로컬 시스템에서 포트 8080이 열리고 원격 시스템에서 볼 수 있듯이 모든 데이터가 localhost의 포트 12345로 전달됩니다.


답변

원격 호스트에서 Privoxy를 실행 한 후 다음 -L옵션을 사용하여 SSH를 통해 Privoxy에 연결하십시오 .

-L [바인드 주소 :] 포트 : 호스트 : 호스트 포트
         로컬 (클라이언트) 호스트의 지정된 포트를 지정합니다.
         원격 호스트의 지정된 호스트 및 포트로 전달됩니다. 이
         로컬 측의 포트를 청취하기 위해 소켓을 할당하여 작동합니다.
         지정된 bind_address에 선택적으로 바인딩됩니다. 때마다
         이 포트에 연결하면 연결이 전달됩니다.
         보안 채널 및 호스트 포트에 연결
         원격 시스템에서 호스트 포트.

( 맨 페이지 소스 )


답변

코르크 마개 (GPL)를 사용할 수도 있습니다

에 다음을 추가하십시오 .ssh/config

Host=RemoteServerIP or Name
User=UserLoginName
Port=PortNumber
ProxCommand=/usr/bin/corkscrew Proxy.Adress PortNumber %h %p


답변