PC 와 MySQL 서버사이에 ssh 만 가능하고 MySQL 을 원격으로 접속하는 방법은 막혀있을 경우

ssh 를 이용하여 우회할 수 있다.

 

SecureCRT 설정

  1. SecureCRT의 Port Forwarding 항목에 들어가서 Add 를 누른다.
  2. 첨부 그림처럼 NameLocalRemote 설정을 한다.
    1. Name: 아무거나 준다
    2. Local -> Port: local 에 listen 할 포트이다. DB 연결시에 이 포트로 연결한다.
    3. Remote->Port: MySQL 의 포트이다
  3. 저장한 후에 MySQL 이 설치된 서버로 ssh 로 연결한다.

 

SQLDeveloper 설정

  1. sql developer 를 구동하고 새 접속을 선택한다.
  2. 호스트 이름에 localhost 를 주고 포트 에는 위에 설정한 23306 을 지정한다.
     
  3. 테스트로 연결해 본다.

 

ssh Command 사용

위의 방법은 SecureCRT 를 설치해야 하고 또 리모트 서버에 secureCRT 로 로그인을 해야 가능하다. 커맨드용 ssh 를 이용하면 SecureCRT 가 없어도 포트 포워딩이 가능하다.

  1. Windows 면 cmd.exe 를  Linux 나 기타 Unix면 console 을 연다.
  2. 다음 명령어를 실행한다.

    ssh -L 23306:localhost:3306 lesstif@mysql.example.com
    CODE

     

    1. -L  - [bind_address:]port:host:hostport 형식으로 사용하며 localhost 의 23306 포트로 들어온 연결을 mysql.example.com 의 3306 포트로 포워딩하겠다는 옵션이다.

  3. ssh 연결 창이 뜨면 id/pwd 를 입력하여 로그인을 성공하면 localhost 의 23306 포트로 연결시 리모트의 MySQL 로 포워딩된다.

 

See Also