질문은 간단하지만 답은 아닙니다.
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에 위치) 및 비밀번호 인증 만 지원합니다.
host
SSH 서버 주소입니다 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