SSH KEY 방식으로 MySQL Workbench 접속

Last Updated on 2월 15, 2021 by 태랑(정현호)

SSH KEY 방식으로 Mysql Workbench 접속


SSH 를 접속 후 Mysql 를 접속 하는 방식인 "Standard TCP/IP over SSH" 을 통해 workbench 로
mysql을 접속 하는 방법의 포스팅 입니다.


ssh를 접속 할때 OS계정의 패스워드가 아닌 개인키(비밀키)를 사용하는 방법에 대한 내용 입니다.


클라우드 환경에서는 패스워드 인증이 아닌 비밀키를 사용함으로 클라우드(EC2,OCI 등)
에서의 접속하는 상황과 동일 하다고 보시면 됩니다.


SSH->Mysql 이 이루어지게 되는 과정에서 SSH 접속을 클라우드에 접속 할 때 처럼 개인키(비밀키) 를 이용 하는 것입니다.




# 키 생성

먼저 접속하고자 하는 Mysql 서버에 ssh 로 접속 합니다.
접속 후 아래와 같이  ssh-keygen -t rsa -b 4096   명령어를 를 통해서 유저의 키를 생성 합니다

* 이미 개인키(비밀키)를 소지하고 있다면 이 단계는 생략 해도 됩니다.


물어보는 여러 항목에서 그냥 엔터를 입력 합니다.



키가 생성 하였다면 id_rsa.pub 의 내용을 authorized_keys 에 넣어 줍니다
$ cd .ssh

$ cat id_rsa.pub  >> authorized_keys
$ chmod 600 authorized_keys
   ==> permission은 600 이나 400 이어야 합니다.



그다음 sftp 를 통해 .ssh 디렉토리 안에 있는 id_rsa 파일을 PC로 다운 받습니다.



Mysql Workbench 에서 접속 방식을 Standard TCP/IP over SSH 를 선택하고 진행 합니다.



서버 접속 주소와 유저명 등을 기재 하고 "SSH Key File" 항목에 표기된 개인키를 넣어줍니다
파일명 : id_rsa
Mysql Hostname : 127.0.0.1 이나 localhost 를 입력 혹은 서버 IP
Mysql Port : 기본은 3306  입니다.
Username : 접속할 username 을 입력 합니다.


[참고] 접속할 username 의 host 의 정보에서 localhost or 127.0.0.1 이 없다면 접속이 안될 수 있습니다
mysql> select user,host from mysql.user;

접속할 IP대역이 localhost나 127.0.0.1 이나 서버 IP 중 1개라도 있는지 확인 해야 합니다.


[참고] puttygen 을 통해 생성한 Private key (PPK)  는 putty에서만 사용가능 합니다.
그렇기 때문에 서버에서 openssl 을 통해 생성한 키를 이용 해야 합니다.


서버에서 받은 개인키(id_rsa) 를 통해 접속 해보시면 접속이 되는걸 확인 하실수 있습니다.

답글 남기기