
이 질문에서 나왔습니다.SSH 포트 전달이란 무엇이며 SSH 로컬 포트 전달과 원격 포트 전달의 차이점은 무엇입니까?, 이 사용법이 혼란스럽습니다.
ssh -L 123:farawayhost:456 remotehost
ssh -L sourcePort:forwardToHost:onPort connectToHost
의미: ssh로 에 연결connectToHost
하고 모든 연결 시도를 에 전달합니다.현지의sourcePort
머신 에서 접근할 수 있는onPort
이라는 머신의 포트로 이동합니다 .forwardToHost
connectToHost
"..., 어느도달 할수있다기계 에서 connectToHost
." 정확히 무슨 뜻인가요?
내가 올바르게 이해했다면 ssh -L 123:localhost:456 remotehost
위 명령의 특정 사례이며, 둘 다 farawayhost
동일한 remotehost
시스템에 있습니다.
그렇다면 같은 컴퓨터에 farawayhost
있고 remotehost
없을 때는 어떻게 작동합니까? remotehost
먼저 로그인한 다음 로그인해야 한다는 뜻인가요 farawayhost
?
답변1
처음에는 왜 혼란스러웠는지 모르겠습니다. 아마도 원래의 대답이 충분히 명확하지 않아서일 수도 있지만, 갑자기 그 사실을 알아냈습니다.
공개 IP가 1.2.3.4
과 2.3.4.5
.
사용법은 다음과 같습니다. , 개행 메시지가 표시되며 on 의 비밀번호가 필요합니다 .ssh -L 10283:1.2.3.4:8000 [email protected] -N
username
2.3.4.5
인증에 성공하면 가 지정되었기 ssh
때문에 로그인이 되지 않지만 -N
연결이 이루어진 것입니다. 따라서 모든 데이터는 다음으로 전송됩니다.현지의포트는 먼저 (포트 ) 를 통해 10283
전송된 다음 포트 로 데이터를 전송합니다.2.3.4.5
ssh
22
2.3.4.5
1.2.3.4
8000.
이제 html 파일을 만들고 로 http echo hello > index.html
서버를 실행하겠습니다 .1.2.3.4
python -m http.server
그런 다음 localhost:10283
로컬 PC에 입력합니다.
로컬 PC:
에 1.2.3.4
: