내 ISP는 내 홈 라우터에 192.168.* IP를 제공합니다. 건물의 주요 회사 라우터만 실제 IPv4 IP를 얻지만 건물의 모든 테넌트는 해당 IP를 공유합니다. 그들은 IP 전달을 수행하지 않으므로 포트 22가 나에게 전달되도록 요청할 수 없습니다.
Tor를 사용하면 Tor 네트워크에 대한 경로를 열고 외부에서 SSH를 통해 로그인할 수 있습니다. 그러나 상상할 수 있듯이 매우 느립니다. 마찬가지로 내 Synology NAS에는 Synology 원격 서버에 대한 라우팅이 켜져 있으며 원격으로 연결할 수 있습니다.
이 전송 시스템이 무엇인지, 그리고 이를 사용하여 집 컴퓨터를 내가 임대한 VPS 서버(내 요새 호스트라고도 함)에 연결하여 갈 필요 없이 원격으로 요새 호스트를 통해 SSH로 연결할 수 있는지 알고 싶습니다. 토르를 통해. 나는 Tor를 좋아하지만 SSH 지연이 나를 미치게 만듭니다.
답변1
나는 최근 모바일 네트워크를 통해 NAT를 통해 인터넷에 연결된 IoT 장치에 연결하기 위해 똑같은 작업을 수행했습니다.
내 솔루션은 Google Cloud의 마이크로 인스턴스를 기반으로 합니다. IP는 영구적이어야 합니다 server_ip
. 방화벽 규칙은 필요하지 않은 것 같습니다.
원격으로 연결하려는 로컬 장치에서 다음을 실행합니다.
ssh -N -R 5757:localhost:22 <server_ip>
여기서 5757은 서버에서 열리는 수신 포트입니다(모든 포트일 수 있지만 1023보다 클 수 없음). 이는 서버에 지시합니다.
최종 장치(예: 외출 중일 때 노트북에서)에서 다음을 실행합니다.
ssh -J <server_ip> -p 5757 localhost
다음을 통해 연결됩니다.점프 호스트, SSH 연결을 홈 장치에서 열린 연결로 직접 라우팅합니다.
모든 것을 더 안전하고 원활하게 만들려면 다음을 사용하는 것이 좋습니다.SSH 키 기반 인증, 서버 또는 홈 장치에서. 추가 도움이 필요하시면 댓글을 남겨주세요.
마지막으로 주의할 점은 첫 번째 명령( ssh -N -R 5757:localhost:22 <server_ip>
)은 종료되어서는 안 되기 때문에 서비스를 이용하거나 nohup
서비스를 통해 실행해야 한다는 점이다. 후자의 솔루션이 제가 선호하는 솔루션입니다. 제 서비스 파일은 다음과 같습니다.
[Unit]
Description=Reverse SSH to GCL on port 5757
After=network.target
[Service]
Type=simple
User=flynn
ExecStart=/usr/bin/ssh -N -R 5757:localhost:22 <server_ip>
Restart=always
StartLimitInterval=30
[Install]
WantedBy=multi-user.target