Computer/MySQL

[스크랩] DBMS MySQL SSH 터널링을 통해 연결하기

알찬돌삐 2006. 12. 31. 23:24
SSH 터널링(Tunneling) 이란?

SSH Forwarding 이라고도 한다.
ssh 접속을 이용하여 다른 프로그램이 안전하게 사용할수 있도록 포트 포워딩(port forwarding)을 해주는 것이다.
ssh 를 이용하여 암호화 접속을 이용하여 조금더 안전하게 접속할수 있다.
자세한 것은 다음의 참고 사이트를 확인하세요

0. 기본정의
1) DB 서버의 정보는 다음과 같다고 가정한다.
기본적으로 ssh 접속이 가능한 서버일것 (당연한 얘기지만)
IP : 111.111.111.111
SSH 접속 계정 : sshuser (기본포트 22)
DB 접속 계정 : dbuser (기본포트 3306) (포워딩포트 3400)

1. Mysql 서버에서 수행할 작업
mysql -p -uroot
mysql> grant all on *.* to dbuser@127.0.0.1 identified by '패스워드';
Query OK, 0 rows affected (0.02 sec)
mysql> flush privileges;

2. 자체적으로 SSH Tunneling 을 지원하지 않는 경우
1) SecureCRT 로 연결 -> 3) Mysql-Front 연결
혹은
2) Putty 로 연결 -> 3) Mysql-Front 연결

1) SecureCRT
(1) 새로운 Session 생성


(2) SSH2 옵션에서 접속 정보를 입력합니다.


(3) PortForwarding 탭을 엽니다.
Local : 3400 (접속하려는 포트 임의지정가능)
Remote : 3306 (일반적인 mysql 포트)


(4) 확인을 누르면 다음과 같이 됩니다.


2) 한글 Putty의 경우
(1) 새로운 세션을 생성합니다.


(2) 터널링 옵션에서 다음과 같이 설정한다.
원 포트 : 3400 (우리가 나중에 접속할 포트)
대상 : 3306 (Mysql DB 가 기본적으로 사용하는 포트)


(3) 저장을 한다. 빼먹지 말것


3) Mysql-Front 에서 직접 접속하기
(1) Mysql 2.X 버전
호스트 : localhost
사용자 : dbuser (DB로 접속하는 유저)
포트 : 3400


(2) Mysql 3.X 버전


3. 자체적으로 SSH Tunneling 지원하는 경우
1) SQLgate
(1)  SSH 설정을 한다.
호스트 : 111.111.111.111
유저명 : sshuser (ssh로 접속하는 유저)
로컬포트 : 3400 (접속하려는 포트 임의지정가능)
리모트 호스트 : localhost
리모트 포트 : 3306 (일반적인 mysql 포트)


(2) 로그인 정보를 체크한다.
유저명 : dbuser (DB로 접속하는 유저)
서버 IP : localhost
포트 : 3400 (위에서 설정한 포워딩 로컬포트)


출처 : PHPSCHOOL 의 하늘처럼님.

'Computer > MySQL' 카테고리의 다른 글

MYSQL Win32 GUI 툴 쓸만한거.  (2) 2008.03.24
DB Designer-Fork  (2) 2007.11.03
[스크랩] Mysql 에서 변수의 사용......  (0) 2006.12.18
[스크랩] 웹문서 검색엔진 기술의 핵심  (0) 2005.05.20
자주 쓰는 명령어 정리  (1) 2005.05.16