컴퓨터가 있고 호스트 A와 B가 있습니다. 호스트 A는 인터넷에 연결되어 있고 호스트 B는 호스트 A의 로컬 네트워크에 있습니다. 호스트 B에는 포트 8080에 웹 인터페이스가 있습니다. 호스트 A의 포트를 전달해야 합니다. 그런 다음 인터넷에서 호스트 A에 있는 호스트 B의 웹 인터페이스를 가져오고 싶습니다.
답변1
SSH를 사용하여 공용 IP 주소를 통해 호스트 A에 액세스하는 경우:
ssh -L -f -N -T <local port>:<host B IP address>:8080 <host A public IP address>:<forwarded port>
그러면 터널이 설정되고 백그라운드에서 실행됩니다. 그런 다음 브라우저를 열고 or를 입력하면 localhost:<local port>
호스트 127.0.0.1:<local port>
A를 통해 호스트 B로 터널이 설정됩니다.
-L
호스트 A의 공용 IP에 액세스하는 데 사용하는 로컬 호스트에서 전달을 설정합니다 .
-f
대화형 세션이 필요하지 않으므로 ssh에 백그라운드에서 실행하도록 지시합니다 .
-N
실행할 원격 명령은 없고 터널만 있다고 ssh에 알립니다 .
-T
의사 터미널 할당을 비활성화합니다 .
이는 방화벽이 전달하도록 올바르게 설정되어 있다고 가정하며 <forwarded port>
실제로는 SSH 문제가 아닙니다.