새로운 회사에 오고 DB를 사용하기위해 터널링을 사용한다는 이야기를 들었다.
대략적인 설명을 들었고 지금은 아주 잘 사용하고있다.
기록을 남겨두어야 겠다 싶어 조사를 통해 SSH 터널링의 개념과 사용법을 정리해본다. 물론 지피티가 다쓴다.
SSH 터널링(Secure Shell Tunneling)은 원격 서버의 특정 포트를 로컬에서 실행하는 것처럼 사용할 수 있도록 하는 기술입니다.
즉, 로컬 환경에서 보안이 필요한 서비스(예: 데이터베이스, 웹 애플리케이션 등)에 안전하게 접근할 수 있도록 해줍니다.
Windows에서 SSH 터널링을 설정하는 가장 일반적인 방법 중 하나는 Putty를 이용하는 것입니다.
이제 터널링이 설정되었습니다. 이 설정을 통해 127.0.0.1:3306으로 접근하면, 실제로는 원격 서버의 MySQL 포트(3306)로 연결됩니다.
Putty 없이도 VS Code에서 SSH 터널링을 설정할 수 있습니다.
VS Code에서 SSH를 설정하는 ~/.ssh/config 파일을 수정하면 터널링을 자동화할 수 있습니다.
터미널에서 다음 명령어로 SSH 설정 파일을 엽니다.
nano ~/.ssh/config
아래 내용을 추가합니다.
Host my-ec2
HostName ec2-xx-xx-xx-xx.compute.amazonaws.com
User ec2-user
IdentityFile ~/.ssh/key.pem
LocalForward 3306 127.0.0.1:3306
비교 항목 VS Code에서 SSH 접속 SSH 터널링
목적 | 원격 서버에서 직접 개발 및 관리 (파일 수정, 터미널 사용) | 원격 서비스(DB, 웹 서버)를 로컬에서 실행하는 것처럼 사용 |
접속 방식 | ssh -i key.pem user@ec2-ip | ssh -L 3306:127.0.0.1:3306 user@ec2-ip |
사용 도구 | VS Code SSH 확장 기능 | Putty 또는 CLI에서 ssh -L 옵션 사용 |
로컬 사용 여부 | 원격 서버에서 직접 작업 | 로컬에서 원격 DB를 사용하는 것처럼 설정 |
✅ VSC의 SSH 접속은 원격 서버에서 직접 작업하는 것이고, SSH 터널링은 원격 서버의 특정 서비스를 로컬에서 실행하는 것처럼 사용할 수 있게 해줍니다.
💡 SSH 터널링을 활용하면 원격 서버의 DB를 로컬에서 실행하는 것처럼 사용할 수 있습니다.
💡 Putty 또는 VS Code의 SSH 설정을 통해 터널링을 설정할 수 있으며, MySQL Workbench에서 127.0.0.1:3306으로 원격 DB에 안전하게 접속할 수 있습니다.
💡 VSC에서 SSH 접속과 SSH 터널링은 비슷하지만 목적이 다릅니다. SSH 터널링은 특정 서비스(DB, 웹 서버 등)를 로컬에서 사용할 때 유용합니다.
쓰는법 알려주는 블로그도 있더라.
https://blog.naver.com/baekmg1988/221621075905
#AWS #EC2 #SSH #터널링 #MySQL #MySQLWorkbench #보안 #포트포워딩 #VSCode #Putty #클라우드 #개발자팁 #네트워크 #보안설정