Port forwarding (일종의 터널링)
-
SSH Tunneling은 터널을 통해 데이터를 주고받으며, 연결, 통신은 모두 암호화되며 SMTP, IMAP 등 여러 가지로 사용될 수 있다.
-
Direct로 보내면 네트워크 층에서 수 많은 공격을 받을 수 있기 때문에 SSH를 통해 다른 Application에 연결하는 것이 안전.
Local port forwarding
ssh -L port1:host_name:port2 server_name
ex. 로컬에서 서버에 있는 MySQL과 SSH 연결을 한다고 가정.
-
Local port forwarding은 로컬에 설치된 MySQL 클라이언트의 3306 포트가 연결된 SSH Tunnel을 거쳐 서버에 있는 MySQL 서버의 3306 포트와 연결
-
이를 통해 직접 서버의 데이터베이스에 안전하게 접근할 수 있으며 요청을 보내서 서로 데이터 송수신 가능
Remote port forwarding
ssh -R port1:host_name:port2 server_name
ex. 로컬에서 파이썬 웹 애플리케이션을 개발 중인데 외부에 공개 한다고 가정
-
아직 고정 아이피가 없어 직접 연결을 못함
-
라우터에서 NAT 구성을 하는 방법도 있지만 귀찮음
-
먼저 port1의 서버에서 port2로 로컬 트래픽을 전달하는 SSH 터널을 생성
-
로컬에서 port2의 서버에 연결하면 실제로 SSH 터널을 통해 데이터를 요청하는 것을 확인
'Linux > 리눅스 기본' 카테고리의 다른 글
숨긴 파일과 권한 설정 (0) | 2025.01.16 |
---|---|
OpenSSL을 이용한 암호화/복호화 (0) | 2025.01.16 |
마운트 (Mount) (0) | 2019.07.25 |
디스크 관리 (0) | 2019.07.25 |