SSH를 통해 터널링된 로컬 SOCKS 프록시 실행

SSH를 통해 터널링된 로컬 SOCKS 프록시 실행

나는 겪고 있다이것게시되었으며 그것이 의미하는 바를 조용히 이해할 수 없습니다.

직장에서 매일 사용하는 훌륭한 "기능": SSH가 포트 443에서 수신 대기하도록 하여 업무 방화벽을 우회하는 터널을 생성하고 로컬 SOCKS 프록시를 실행하고 SSH를 통해 Linux 서버로 터널링할 수 있는 기능입니다. 인터넷용.

회사 방화벽을 완전히 무시할 수 있습니다.

내가 아는 한, 항구는스물 둘사무실 컴퓨터에서는 SSH 액세스가 차단됩니다. 내 집 컴퓨터에서 원격 사무실 컴퓨터로 어떻게 연결합니까?

내 집 컴퓨터에서도 비슷한 명령을 사용할 수 있나요?

ssh -D 1337 -f -C -q -N user@office -p 443

그런 다음 집 컴퓨터에서 사무실 네트워크에 액세스할 수 있도록 집 컴퓨터의 Firefox에서 프록시 설정을 변경하시겠습니까?

답변1

그게 다인데 집과 사무실을 뒤집어 놓았습니다. 핵심은 사무실 방화벽이 웹 트래픽 이외의 나가는 연결을 거부한다는 것입니다. 하지만 HTTPS 트래픽과 SSH 트래픽은 모두 암호화되어 있어 쉽게 구별할 수 없기 때문에 방화벽에서는 단순히 443(표준 HTTPS 포트) 이외의 포트로 나가는 연결을 차단하고, 443(표준 HTTPS 포트)을 통한 HTTP 트래픽만 허용하는 HTTP 프록시가 있을 수도 있습니다. 포트 80 및 다른 포트도 가능합니다.

그래서 아이디어는 집에서 SSH 서버를 실행하고 포트 443에서 수신 대기하며 데이터를 어디로든 중계하는 것입니다.양말TCP 연결을 중계하기 위한 일반적인 프로토콜입니다. 웹 트래픽, SSH 연결 및 기타 여러 프로토콜을 중계할 수 있습니다.

HTTP 프록시 대신 SOCKS 프록시를 사용하도록 웹 브라우저를 구성할 수 있습니다. 주요 웹 브라우저는 SOCKS를 지원합니다. SOCKS 프록시를 지원하지 않는 애플리케이션을 사용하려면 다음을 수행하십시오.양말.

SSH와 HTTPS는 처음 몇 바이트(두 끝점이 옵션과 세션 키를 계속 협상하는 동안 트래픽을 암호화하기 전)가 구별 가능하기 때문에 실제로 구별될 수 있습니다. 모든 기업 방화벽이 이를 수행하는 것은 아닙니다. 당신은 그것을 사용할 수 있습니다터널SSH 세션을 HTTPS에 포함합니다.

답변2

이 게시물이 무엇을 말하는지 잘 모르겠지만 X 전달을 지원하지 않는 원격 서버에서 SSH를 통해 http 트래픽을 리디렉션하는 것과 비슷한 것을 사용해 왔습니다. 나는 이렇게 한다:

ssh -L23000:localhost:23000 user@remotehost
[remotehost] $ python -m SimpleHTTPServer 23000

로컬 호스트에서 브라우저를 열고 http://localhost:23000브라우저에서 원격 호스트에 있는 파일을 탐색하도록 지정합니다. 이는 하나의 예이지만 웹 기반 포털이 있으므로 이를 원격 노드에서 실행하고 이런 방식으로 수행하는 작업을 수행해야 합니다.

이 기사에서는 방화벽으로 보호되는 네트워크에 액세스할 수 있도록 SSH를 통해 SOCKS 프록시의 모든 트래픽을 리디렉션하는 방법에 대해 설명하고 있는 것 같습니다.

관련 정보