SOCKS 5 프록시와 함께 SSH를 사용하려면 어떻게해야합니까?


35

포트 7777이 동적 포트로 구성된 PuTTY를 통해 SOCKS5 프록시를 설정했습니다. firefox / filezilla / etc를 SOCKS 프록시를 사용하도록 구성하여 localhost포트 를 사용할 수 있습니다 7777. 그러나 동적 포트를 사용하여 Cygwin을 통해 원격 서버에 ssh하는 방법을 알 수 없습니다. 이것이 가능한가?

ProxyCommand다음 방법 을 통해 사용해 보았습니다 .

  1. ~/.ssh/config다음 줄로 작성하십시오 .

    ProxyCommand /usr/bin/nc -X connect -x 127.0.0.1:7777 %h %p
    
  2. ssh -p22 user @ remotehost를 실행하십시오.

내가받는 메시지는 ssh_exchange_identification: Connection closed by remote host


1
SOCKS를 지원하지 않는 프로그램이 SOCKS를 거치도록하려면 소위 프록시를 사용할 수 있습니다. en.wikipedia.org/wiki/Comparison_of_proxifiers를 참조하십시오 . 특히 오픈 소스 tun2socks 프록시 ( code.google.com/p/badvpn/wiki/tun2socks )를 추천합니다.
Ambroz Bizjak

의견 Ambroz에 감사드립니다. cygwin에서 작동하려면 wikipedia 페이지의 proxifiers에서 언급 한 모든 것이 cygwin에서 구현되지 않았거나 적용 할 수 없음을 알 수 있습니다. cygwin에서 proxifier를 사용할 수있는 방법이 있습니까?

Cygwin을 구체적으로 지원하기 위해 필요하지 않습니다. Cygwin 프로그램은 결국 Windows 프로그램이지만 POSIX 인터페이스는 라이브러리로 구현되어 있습니다. Proxifier가 Windows에서 작동하면 Cygwin 프로그램을 잘 처리 할 수 ​​있습니다.
Ambroz Bizjak

답변:


31

HTTPS의 'connect'를 프록시 버전으로 사용하고 있습니다.

-X proxy_version 프록시 서버와 통신 할 때 nc가 지정된 프로토콜을 사용하도록 요청합니다. 지원되는 프로토콜은 ''4 ''(SOCKS v.4), ''5 ''(SOCKS v.5) 및 'connect'(HTTPS 프록시)입니다. 프로토콜을 지정하지 않으면 SOCKS 버전 5가 사용됩니다.

SOCKS 5를 사용하려면 다음을 사용해야합니다.

ProxyCommand /usr/bin/nc -X 5 -x 127.0.0.1:7777 %h %p

또는 간단히 :

ProxyCommand /usr/bin/nc -x 127.0.0.1:7777 %h %p

도움이 되길 바랍니다.


고마워, 사만! 또한 설명해 주셔서 감사합니다.

ProxyCommand귀하의 첫 번째 줄 수 있어야합니다 ~/.ssh/config', or else nested inside a specify Host` 섹션. 왜 그런지 잘 모르겠습니다. 그것이 마지막 줄이라면 작동하지 않습니다~/.ssh/config
Aaron McDaid

@AaronMcDaid : From man ssh_config: "각 매개 변수에 대해 첫 번째로 얻은 값이 사용됩니다." 따라서 ... 글로벌 설정을 할 필요가 전에 어떤 Host섹션. 마지막 줄은 ~/.ssh/config마지막 Host섹션의 일부입니다 .
mpb

넷캣은 /bin/nc데비안과 우분투에 있다고 언급 할 가치가 있습니다.
Per Lundberg

11
ssh -o ProxyCommand='nc --proxy-type socks4 --proxy 127.0.0.1:9050 %h %p' user@host

fc19 x86_64, Ncat : 버전 6.25


그냥 궁금해-왜 proxy-type socks4?
suspectus

2
이것이 왜 해결책 인지 말하기 위해 조금 더 설명을 추가 할 수 있습니까?
ChrisF

1
@ChrisF 허용되는 솔루션과 동일하지만 하나의 라이너입니다! 구성 파일을 수정할 필요가 없습니다.
j123b567

1
이것은이다 nmap이 ncat 프로그램은 (통해 오는 apt install nmap다른, 우분투와 데비안 같은 APT 시스템) netcat을 (이 netcat을-오픈 BSD 또는 수 호빗의 netcat을 전통적인).
Adam Katz

1
@suspectus @ 아담 카츠 주석 관련의가 proxy-type있다 socks4nmap이 때문에 ncat프로그램이 최근까지 SOCK5를 지원하지 않았다. 사실,이 문제는 7 / CentOS의 7 nmap을 패키지로 전환하지만, SOCKS5 지원하지 않는 이전 빌드를 사용 RHEL으로, 지금도 (2017 11월)입니다
랜달

3

tsocks ( http://tsocks.sourceforge.net/ )는 LD_PRELOAD를 사용하여 모든 프로그램이 SOCKS 프록시를 투명하게 사용하도록하는 멋진 래퍼입니다.

tsocks ssh example.com

작동합니다. /etc/tsocks.conf 에서 SOCKS 프록시 IP를 구성 해야합니다.


구성 파일이 너무 복잡합니다
Jiang YD

1

이 명령은 nc를 사용하기 위해 수행됩니다.

ssh examplehost.com -o "ProxyCommand=nc --proxy localhost:7000 %h %p"

기본값은 HTTP 프록시이며 포트 7000에서 실행중인 HTTP 프록시가 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.