본문 바로가기
기타

ssh 터널링

by 초특급하품 2020. 2. 2.

aws를 사용하면서 VPC로 가상 네트워크를 만들고, security group으로 방화벽을 설정하다 보니 해당 서버나 서비스에 접근이 필요한 수작업을 해야 할 때에는 주로 사무실/개인 IP와 22번 포트만 열어둔 bastion 서버를 이용한다. 이 bastion 서버를 이용하면 로컬에서 띄운 서버도 포트 포워딩을 통해 VPC 안에 있는 서비스에 접근할 수 있다.

 

가장 흔히 접하는 db(mysql)의 경우는 접속하는 툴에서 ssh port forwarding을 지원하기도 한다. 하지만 로컬에서 띄운 서버가 VPC에 접근하려면 ssh -L 옵션으로 터널링 프로세스를 띄어 놓아야 한다.

 

ssh -v -N -L <local port>:<target host>:<target port> <bastion> 

 

옵션 설명

  1. -L: 소켓으로도 가능하지만 주로 [bind_address:]port:host:hostport 포맷으로 사용한다.
  2. -N: 원격 서버에서 명령을 실행하지 않겠다는 flag로 포트 포워딩할 때 주로 사용한다.
  3. -f: 백그라운드로 실행
  4. -S: 공유용 소켓으로 공유하지 않으려면 none
  5. -v: verbose 모드로 최대 3개까지 단계가 있으며 디버깅할 때 유용하다.

'기타' 카테고리의 다른 글

newline의 골치 CR, LF  (0) 2020.02.11
[bash] history 사용법  (0) 2020.02.11
mongodb index를 통한 쿼리튜닝  (0) 2019.12.31
[bash] screen 사용 설명서  (0) 2019.12.26
간단한 파일 대칭키 암호화/복호화  (0) 2019.12.24

댓글