나는 ssh 포트 포워딩을 약간 실험하고 있는데 혼란스러운 것을 발견했습니다. 다음 명령이 동일한 작업을 수행하는 것 같습니다.
ssh -NfL 192.168.121.215:2222:vm2.local:22 vm2.local
ssh -NfL 192.168.121.215:2223:localhost:22 vm2.local
ssh -NfL 192.168.121.215:2224:vm2.local:22 localhost
pc에서 포트 2222, 2223 및 2224에 연결하면 모두 vm2.local로 이동합니다.
$ ss -antp # on vm1.local (192.168.121.215)
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 192.168.121.215:2222 *:* users:(("ssh",10170,4))
LISTEN 0 128 192.168.121.215:2223 *:* users:(("ssh",10178,4))
LISTEN 0 128 192.168.121.215:2224 *:* users:(("ssh",10225,4))
LISTEN 0 128 *:22 *:* users:(("sshd",836,3))
...
위 명령의 차이점은 무엇입니까? 터널이 약간 다르게 생성 되었습니까? 첫 번째 명령은 man 페이지에 따르면 정확하고 두 번째 명령은 일부 웹 사이트에서 가져온 것이며 마지막 명령은 내가 만든 오류이기도합니다.
이 IS 차이점은 귀하의 경우에는 문제가되지 않는 경우에도,. 나는 그림을 잘 못 그리므로 단어로 설명하려고 노력할 것입니다.
ssh -NfL 192.168.121.215:2222:vm2.local:22 vm2.local
이렇게하면 vm2.local
모든 끝 (로컬 및 원격)이 로컬 IP 주소를 바인딩하기 때문에 호스트와 포트 간의 암호화 된 연결 이이 보안 채널을 통해 전달됩니다.
ssh -NfL 192.168.121.215:2223:localhost:22 vm2.local
위와 동일하지만 공용 네트워크 인터페이스의 주소를 바인딩하지 않고 로컬 주소 ()를 바인딩합니다 127.0.0.1
. ssh 포트의 경우 차이가 없지만 (둘 다 수신 대기) 서비스에서만 수신 대기하는 경우 localhost
(예 :) 중요합니다 mysql
.
ssh -NfL 192.168.121.215:2224:vm2.local:22 localhost
이것은 로컬 호스트에 안전하게 연결 (기본적으로 보안 효과 없음) 한 다음 원격 호스트를 직접 바인딩하므로 포트에 쓰는 모든 내용이 암호화되지 않은2224
시스템간에 직접 전송됩니다 (SSH 연결에는 문제가 없지만 다른 경우에는 문제가 되지 않습니다). 트래픽 유형).
두 번째 경우를 사용하는 방법을 배워야하지만 전달 된 포트를 외부에서 액세스 할 필요가없는 경우에는 항상 localhost
다음과 같이 로컬 측에서 바인딩해야 합니다.
ssh -NfL localhost:2223:localhost:22 vm2.local
localhost
기본값 인 곳입니다.
ssh -NfL 2223:localhost:22 vm2.local
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다