2012-07-17 5 views
1

서비스 (예 : FTP 서버)는 모든 사용자가 동일한 외부 IP 주소를 사용하는 특정 네트워크의 연결 만 허용합니다.아웃 바운드 IP가 변경되도록 ssh를 통한 네트워크 전달

이 서비스에 연결하고 싶지만 현재 허용 된 네트워크 안에 있지 않습니다.

네트워크 내의 서버에 대한 ssh 액세스 권한이 있습니다.

내부 네트워크의 컴퓨터를 통해 내 로컬 컴퓨터의 특정 포트를 최종 서비스로 터널하는 데 ssh를 사용하여 올바른 포트를 여는 클라이언트가 아무런 차이를 느끼지 않게하려면 어떻게해야합니까?

답변

3

다음 명령을 사용하여 특정 네트워크에 대한 SSH 터널을 만들 수 있습니다. 예를 들어 컴퓨터 "mywebserver"(포트 80)에서 웹 서비스에 연결하려고한다고 가정 해 봅시다. OpenSSH를를 사용하는 리눅스 나 BSD에서

  • 는 다음과 같은 명령 행 사용할 수 있습니다

SSH를 -f mysshserver -L 1234 : mywebserver : 윈도우에서 80 -N

  • , 당신 간단한 그래픽 ssh 터널 빌더가 포함 된 MobaXterm을 사용할 수 있습니다.

이렇게하면 로컬 포트 ​​12 사이에 SSH 터널이 열립니다 34 및 원격 웹 서버를 포트 80에 연결하십시오. 그러면 웹 브라우저를 열고 주소 표시 줄에 "http : // localhost : 1234"를 입력하여 웹 서버에 직접 연결할 수 있습니다.

+0

* 삭제됨, 나는 완전히 대답을 이해하지 못했습니다. – Letharion

+0

명령 줄이 서버에서 작동합니까? – Didier

+0

오랜 지연에 대해 유감스럽게 생각합니다. 아니, 나는 그것을 작동시킬 수 없다. 다음은 내가하는 일을 보여주는 쉘 스크립트입니다 : 'REMOTE_PORT = 8080; LOCAL_PORT = 1234; REMOTE_URL = somedomain.com; ssh -f localhost -L $ {LOCAL_PORT} : $ {REMOTE_URL} : $ {REMOTE_PORT} -N; curl http : // localhost : $ {LOCAL_PORT} | wc -l; ssh $ {REMOTE_URL} "curl http : // localhost : $ {REMOTE_PORT}"| wc -l;' 두 개의'curl'을 제외하고는 똑같은 결과가 나옵니다. 그러나 첫 번째 것은 60 초가 지나면 모두 실패하고, 두 번째 것은 29 행을 반환합니다. 로컬 nmap을 실행하면 $ {LOCAL_PORT}이 (가) 열린 것으로 표시됩니다. – Letharion

관련 문제