![홈 로컬 네트워크의 사무실에 있는 SSH PC](https://linux55.com/image/59685/%ED%99%88%20%EB%A1%9C%EC%BB%AC%20%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC%EC%9D%98%20%EC%82%AC%EB%AC%B4%EC%8B%A4%EC%97%90%20%EC%9E%88%EB%8A%94%20SSH%20PC.png)
내 사무실에는 나를 포함한 모든 컴퓨터에 로컬 IP 주소를 할당하는 로컬 네트워크 뒤에 기본 게이트웨이가 있습니다.
Ubuntu가 설치된 사무실 PC에 대한 관리자 권한이 있고 주말에는 SSH를 통해 컴퓨터에 액세스해야 합니다.
사무실에는 공용 IP가 없지만 항상 DHCP에서 동일한 로컬 IP를 얻습니다. 기본 방화벽에서 포트 전달을 설정할 수는 없지만 컴퓨터에 원하는 소프트웨어를 자유롭게 설정할 수 있습니다.
Linux를 실행하는 내 집 컴퓨터에도 공용 IP가 부여되었습니다. Team Viewer와 같은 소프트웨어는 설치할 수 없습니다.
내 문제를 어떻게 해결할 수 있나요?
답변1
그것은 간단합니다:
[사무실 머신에서 실행] Office -> Home 연결을 설정합니다. (Home에는 공인 IP가 있기 때문입니다.) 이렇게 하면 사무실 기계에서 집까지 역방향 터널이 설정됩니다.
ssh -CNR 19999:localhost:22 homeuser@home
[집 컴퓨터에서 수행] 집에서 사무실에 연결하세요. 그러면 1단계의 터널이 사용됩니다.
ssh -p 19999 officeuser@home
때때로 이 연결 패턴으로 인해 해고될 수 있으므로 SSH 터널링이 회사 정책을 위반하지 않는지 확인하십시오(예를 들어, 고용주가 이로 인해 나를 해고했습니다).
autossh
PS 첫 번째 단계에서는 네트워크가 불안정할 경우 터널 연결이 자동으로 복구되도록 이와 같은 것을 사용할 수 있습니다 .
답변2
홈 네트워크를 제어할 수 있고 고정된 내부 IP 주소(예: 홈 PC의 MAC 주소 기반)를 설정했다고 가정하면 홈 라우터에서 포트(예: 4321)를 열어 다음을 통해 연결을 전달할 수 있습니다. 4321도 PC.
집에서 sshd
이 포트를 들어보세요.
물론 사무실에 없을 때 사무실 컴퓨터에서 실행되는 일반 공개/개인 키 쌍을 사용하고 싶지 않기 때문에 로컬에서 새 사용자를 만듭니다. 사무실 컴퓨터에서 공개/개인 키 쌍을 생성하고 공개 키를 집 컴퓨터의 새 사용자에게 복사합니다.
귀하의 홈 IP(제공업체가 라우터에 제공)가 상대적으로 안정적이고 이 홈 IP 주소를 어딘가에 게시할 수 있다고 가정하면(예: 웹 사이트에 업로드) 사무실 PC가 검색되어 사무실 PC가 역방향 SSH 터널을 설정합니다.
사무실 PC는 주기적으로(예: 5분마다) 홈 IP를 검색하고 IP가 변경된 경우 역방향 SSH 터널을 설정해야 합니다.
ssh -p 4321 -N -R 12345:localhost:22 reverse@home-ip
SSH를 사용하여 로컬 포트 12345를 사용하여 사무실 PC에 연결할 수 있습니다.
ssh -p 12345 officelogin@localhost