2011-02-18 4 views
13

대학에서 두 대의 컴퓨터를 소유하고 있습니다. 둘 다 방화벽과 같은 일종의 배후에있어 네트워크를 통해 직접 연결할 수 없습니다. 그들은 둘 다 SSH 공용 컴퓨터 수 있지만 하나에서 다른 SSH 방법을 알아낼 수 없습니다. 나도 작은 웹 사이트를 운영한다. 제 질문은 제 웹 사이트의 공용 주소를 사용하여 제 웹 사이트를 통해 모든 정보가 흐르지 않고 제 두 컴퓨터를 연결하고 모든 대역폭을 먹을 수 있습니까? 이상 적으로는 두 대의 컴퓨터 사이에 ssh 터널을 만들고 싶습니다.외부 서버를 통한 방화벽 뒤의 SSH 두 컴퓨터

나는 이미 Hamachi를 사용해 봤지만 더 이상 Mac에서 잘 작동하지 않으며 연결을 더 제어하려고합니다.

답변

14

ServerC (공개 서버)를 통과하여 MachineA에서 MachineB (대학에서 모두)로 ssh를 전송한다고 가정 해 봅시다.

sshd는 ServerC와 MachineB에서 실행해야합니다.

다음 명령을 실행하여 SSHD는 MachineB 및 ServerC 포트 22에서 수신 대기하는 가정 :

# Forward incoming connections from ServerC:22000 to MachineB:22 
(on MachineB) ssh -R22000:127.0.0.1:22 -N [email protected] 
# Forward incoming connections from 127.0.0.1:22000 to ServerC:22000 
(on MachineA) ssh -L22000:127.0.0.1:22000 -N [email protected] 
# Establish the link between MachineA and MachineB 
(on MachineA) ssh -p 22000 [email protected] 

이 방법은 포트 22에 대한 액세스를 필요로하고 쉽게 80 또는 443의 경우로 변경할 수 있습니다 대학 프록시는 악합니다.

+1

대역폭 문제를 해결하지 못하는 것 같습니까? –

+1

두 기계를 직접 연결할 수 없다면 피할 수없는 문제입니다. 그러나 원격 쉘을 사용하여 명령을 입력하는 경우 (즉, 두 호스트간에 파일 조작이 아닌 경우) 대역폭 사용량은 상당히 낮습니다. 파일 조작의 경우 -l 매개 변수가있는 scp를 사용하여 대역폭 사용을 제한하십시오. – Artefact2

+2

http://www.h-online.com/security/features/How-Skype-Co-get-round-firewalls-747197.html –