
내 사무실에는 하나의 기본 게이트웨이가 있고 그 뒤에는 나를 포함한 모든 컴퓨터에 로컬로 IP 주소가 할당된 로컬 네트워크가 있습니다.
나는 Ubuntu가 설치된 사무실 PC에 관리자 권한을 갖고 있으며 주말 동안 SSH를 통해 컴퓨터에 액세스하는 것이 필수적입니다.
사무실에서는 공용 IP가 없지만 항상 DHCP에서 동일한 로컬 IP를 얻습니다. 기본 방화벽에서는 포트 전달을 설정할 수 없지만 내 PC에 원하는 소프트웨어를 자유롭게 설정할 수 있습니다.
Linux를 실행하는 가정용 컴퓨터에 공개 IP를 얻습니다. Team Viewer와 유사한 소프트웨어를 설치할 수 없습니다.
내 문제를 어떻게 해결할 수 있나요?
답변1
그것은 간단합니다:
[사무실 머신에서 실행] Office -> Home 연결을 설정합니다(Home에는 공용 IP가 있으므로). 그러면 사무실 컴퓨터에서 집까지 역방향 터널이 설정됩니다.
ssh -CNR 19999:localhost:22 homeuser@home
[집 머신에서 실행] 집에서 사무실에 연결하세요. 그러면 1단계의 터널이 사용됩니다.
ssh -p 19999 officeuser@home
SSH 터널링이 회사 정책에 위배되지 않는지 확인하십시오. 때때로 그러한 연결 스키마로 인해 해고될 수 있습니다(예: 고용주가 이로 인해 나를 해고할 것입니다).
추신. 첫 번째 단계에서는 이와 유사한 것을 사용할 수 있으므로 autossh
네트워크가 불안정한 경우 터널 연결이 자동으로 복원됩니다.
답변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