나는 마침내 이것을 달성 할 수있었습니다 ssh
.
- 클라이언트 시스템의 로컬 SOCKS 프록시를 시작 (사용
ssh -D
)
- 원격 서버에 연결하고
ssh -R
로컬 SOCKS 프록시에 역방향 포트 전달 ( )을 설정하십시오.
- 전달 된 프록시를 사용하도록 서버 소프트웨어 구성
1. 백그라운드에서 로컬 양말 프록시를 시작하십시오.
SSH를 통해 로컬 호스트에 연결하고 포트 54321에서 SOCKS 프록시를 엽니 다.
$ ssh -f -N -D 54321 localhost
-f
백그라운드에서 SSH를 실행합니다.
참고 : 명령을 시작한 터미널을 닫으면 프록시 프로세스가 종료됩니다. 또한 완료되면 터미널 창을 닫거나 프로세스를 직접 종료하여 스스로 정리해야합니다!
2. 원격 서버에 연결하고 역방향 포트 전달 설정
원격 포트 6666을 로컬 포트 54321에 바인딩합니다. 그러면 로컬 양말 프록시를 포트 6666의 원격 사이트에서 사용할 수 있습니다.
$ ssh root@target -R6666:localhost:54321
3. 전달 된 프록시를 사용하도록 서버 소프트웨어 구성
프록시를 사용하도록 yum, apt, curl, wget 또는 SOCKS를 지원하는 기타 도구 만 구성하십시오 127.0.0.1:6666
.
보일라! 행복한 터널링!
4. 옵션 : 전달 된 프록시를 사용하도록 서버 소프트웨어를 구성하십시오.
proxychains
대상 서버에 설치 하면 작업이 훨씬 쉬워졌습니다.
임의의 명령에서 프록시로 TCP 및 DNS 요청을 리디렉션 telnet
하는 LD_PRELOAD
트릭을 사용하여 모든 소프트웨어가 SOCKS 프록시를 사용할 수 있습니다 .
/etc/proxychains.conf
전달 된 양말 프록시를 사용하도록 설정 :
[ProxyList]
# SSH reverse proxy
socks5 127.0.0.1 6666
터널 임의의 도구 (즉, 사용하는 TCP)과 proxychains
:
$ proxychains telnet google.com 80
$ proxychains yum update
$ proxychains apt-get update