개발/개발관련

[개발관련] ssh 리모트 터널링과 로컬 터널링

mabb 2024. 7. 25. 20:48
반응형

 

들어가며

ssh 터널링 명령어를 정리해보았습니다.
-L(로컬)옵션과 -R(리모트)옵션의 한 글자 차이이지만 상당히 다르게 동작하며 사용의 목적도 달라집니다.

ssh -L localhost:12345:192.168.0.1:22 mabb@121.10.10.10 -p22022
ssh -R localhost:12345:192.168.0.1:22 mabb@121.10.10.10 -p22022

 

 

1. 로컬 터널링

로컬 터널링

ssh 명령어를 실행하는 현재 서버가 121.10.10.10 서버의 입장이 되게 합니다. 현재 서버에서 localhost:12345를  121.10.10.10 서버가 접근할 수 있는 192.168.0.1:22로 터널링 해줍니다. ssh 포트로 터널을 만들어 원격지의 다른 포트나, 다른 서버(포트)에 직접 연결하는 것처럼 사용할 수 있습니다. 예시로는 DBeaver의 ssh 터널 기능이 있습니다. 

DBeaver의 SSH 터널 기능
터널링을 하면 외부에서도 원격지의 사설IP로 DB에 접속할 수 있다.

 

2. 리모트 터널링

리모트 터널링

121.10.10.10 서버가 ssh 명령어를 실행하는 현재 서버의 입장이 되게 합니다. 리모트 서버에서의 localhost:12345를 현재 서버에서 접근할 수 있는 192.168.0.1:22로 터널링 해줍니다.

터널을 생성해두면 원격지에서는 현재 서버의 공인IP를 모르는데도 불구하고, localhost:12345만으로 현재 서버에서만 접근이 가능한 192.168.0.1서버에 연결할 수 있게 됩니다.

 

반응형