SSH KEY 방식으로 MySQL Workbench 접속

Share

Last Updated on 8월 17, 2021 by Jade(정현호)


안녕하세요 
이번 포스팅에서는 SSH 를 접속 후 MySQL 를 접속 하는 방식인 "Standard TCP/IP over SSH" 을 통해 workbench 로 MySQL 을 접속 하는 방법의 포스팅 입니다.

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


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

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


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로 다운 받습니다.


SSH 로 Workbench 로 접속

먼저 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 을 입력 합니다.





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

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


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

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


0
글에 대한 당신의 생각을 기다립니다. 댓글 의견 주세요!x