정보

MySQL SSH 연결 방법 완벽 가이드: HeidiSQL과 Workbench를 활용한 안전한 접속법

mindlab091909 2025. 5. 7. 23:05
반응형

데이터베이스 관리는 웹 개발자, 서버 관리자, 데이터 엔지니어 모두에게 필수적인 작업입니다. 특히 외부 서버에 위치한 MySQL 데이터베이스에 접속해야 할 때는 보안이 매우 중요합니다. 오늘은 대표적인 무료 SQL 클라이언트인 HeidiSQLMySQL Workbench를 활용하여 **SSH 터널링(Secure Shell Tunnel)**을 통해 MySQL 서버에 안전하게 연결하는 방법을 상세히 소개합니다.

SSH 터널링의 기본 개념부터 각각의 툴을 활용한 접속 설정 방법까지, 블로그를 통해 MySQL SSH 접속에 대한 모든 것을 알기 쉽게 정리해드리겠습니다.


📌 목차

  1. SSH와 SSH 터널링이란?
  2. HeidiSQL로 MySQL SSH 접속하기
  3. MySQL Workbench를 통한 SSH 접속 설정
  4. 자주 발생하는 오류와 해결 팁
  5. 마무리 및 참고 사항

1. 🔍 SSH와 SSH 터널링이란?

SSH란?

SSH(Secure Shell)는 암호화된 보안 채널을 통해 원격 서버에 안전하게 접속할 수 있게 해주는 프로토콜입니다. 보통 리눅스 서버나 원격 시스템에 명령을 전달하거나 파일을 전송할 때 사용되며, 아래와 같은 방식으로 인증합니다:

✅ SSH 인증 방식

  • 비대칭키 방식 (Public/Private Key Pair)
    • 개인키(Private Key)와 공개키(Public Key)를 사용.
    • 서버에는 공개키를 저장하고, 클라이언트는 개인키로 로그인.
    • .pem 또는 .ppk 파일을 사용.
  • 대칭키 방식
    • 하나의 키로 암호화 및 복호화 진행.
    • 보안성이 낮아 잘 사용되지 않음.

SSH 터널이란?

단순히 로컬에서 MySQL 서버로 직접 접속하는 것이 아니라, 중간에 SSH 서버를 거쳐 데이터베이스 서버에 접속하는 방식입니다. 이를 SSH 터널링이라고 부르며, 다음과 같은 경로로 데이터가 흐릅니다:

내 PC → SSH 서버 → DB 서버

이 구조를 통해, 외부에서 직접 MySQL 포트(보통 3306)에 접근하지 못하게 막으면서도 안전하게 접속할 수 있게 됩니다.


2. 🛠 HeidiSQL로 MySQL SSH 접속 설정하기

HeidiSQL은 가볍고 빠르며 MariaDB와 MySQL을 모두 지원하는 윈도우 기반의 SQL 클라이언트입니다. SSH 터널링 설정도 매우 직관적이어서 SSH 환경에서 개발을 자주 하는 분들께 적합합니다.

2-1. 기본 접속 설정

  1. HeidiSQL 실행 후 좌측 하단의 [신규] 버튼 클릭
  2. 우측 설정창에서 상단 [설정] 탭 선택
  3. 네트워크 유형: MariaDB or MySQL (SSH tunnel) 선택
  4. 호스트/IP: 127.0.0.1 (로컬 루프백 주소 그대로)
  5. 사용자명/암호: MySQL 계정 정보 입력
  6. 포트: MySQL의 내부 포트(기본값 3306 또는 사용자 지정 포트)

2-2. SSH 터널 설정

  1. 상단의 [SSH 터널] 탭 클릭
  2. [Use SSH tunnel] 옵션 체크
  3. SSH 실행 파일: plink.exe 선택 (PuTTY의 부속 실행파일, 다운로드 필요)
  4. SSH 호스트/IP 및 포트: 접속하려는 서버의 IP와 포트번호 입력 (기본 SSH 포트는 22)
  5. SSH 사용자명/암호: 리눅스 서버의 SSH 로그인 정보 입력
  6. 개인키 파일(.ppk): PuTTY Key Generator로 변환한 .ppk 포맷 사용
    (※ .pem은 구버전 형식이므로 오류 발생 가능)

💡 : .pem → .ppk 변환은 puttygen을 사용하면 손쉽게 변환 가능합니다.


3. 🧩 Workbench에서 SSH를 통한 MySQL 접속

MySQL 공식 GUI 툴인 Workbench는 직관적인 UI와 강력한 기능 덕분에 많은 개발자들이 사용합니다. SSH 터널을 통한 접속도 지원하며, 설정 방식은 다음과 같습니다.

3-1. Workbench 접속 설정 단계

  1. Workbench 실행 후 [Database] → [Manage Connections] 클릭
  2. [Connection Method]: Standard TCP/IP over SSH 선택

3-2. SSH 관련 항목 입력

  • SSH Hostname: 서버 IP주소 및 포트 (예: 192.168.1.10:22)
  • SSH Username: SSH 서버 계정 (예: ubuntu, root)
  • SSH Password: 비밀번호 입력 (또는 SSH Key 사용)
  • SSH Key File: .pem 또는 .ppk 형식의 키 파일 경로 지정

3-3. MySQL 접속 정보 입력

  • MySQL Hostname: 127.0.0.1 또는 localhost
  • MySQL Port: 보통 3306 (또는 서버에서 설정한 포트)
  • Username / Password: MySQL 사용자 계정 및 비밀번호
  • Default Schema: 접속 후 기본으로 사용할 데이터베이스명 지정

🎯 접속 예시 설정

항목 입력 값 예시

SSH Hostname ec2-3-25-120-52.compute.amazonaws.com:22
SSH Username ubuntu
SSH Key File C:\Users\UserName\.ssh\my-key.pem
MySQL Hostname 127.0.0.1
MySQL Port 3306
Username mydbuser
Password mypassword
Default Schema mydatabase

4. ⚠️ 자주 발생하는 오류와 해결 방법

1. ❌ SSH Key 관련 오류

  • 문제: .pem 키 파일 사용 시 "오래된 형식입니다" 메시지 발생
  • 해결: puttygen으로 .pem → .ppk 변환

2. ❌ 접속 시간 초과

  • 문제: SSH 연결 시 오래 걸리거나 실패
  • 해결: 서버의 방화벽 설정 확인 (포트 22 및 3306이 열려 있어야 함)

3. ❌ 인증 실패

  • 문제: 비밀번호 또는 키 인증 실패
  • 해결: 서버에 올려진 authorized_keys 파일 내 공개키 확인

5. ✨ 마무리: 어떤 도구를 선택할까?

  • 간편하고 가벼운 SQL 관리툴이 필요하다면HeidiSQL 추천
  • 직관적인 GUI와 다중 기능이 필요하다면MySQL Workbench 추천

둘 다 SSH 터널링을 통한 보안 접속을 지원하므로, 사용자의 필요와 취향에 따라 선택하면 됩니다.


📎 정리

항목 HeidiSQL Workbench

플랫폼 Windows 전용 Windows, macOS, Linux
SSH 키 형식 .ppk 필요 .pem, .ppk 지원
GUI 다소 단순 시각적으로 우수
설치 용량 가벼움 비교적 무거움

 

반응형