ssh 터널링을 이용해 mysql 을 접속하도록 하겠습니다.
mysql 포트 3306을 오픈하여 접속을 하거나 mysql 사용자계정에 접속호스트를 %를 주면 아무래도 보안에 취약할수있으니
ssh를 통해 mysql서버의 3306으로 접속을 하는것 입니다.
환경
PC 1 : mysql server
PC2 : client
PC 1에서 일단 mysql 계정을 확인합니다 현재 root계정은 로컬에서만 접속될 수 있도록 설정 되어있습니다.
PC2에서 PC1로 mysql 접속 시도시 아래와같이 에러가 나옵니다.
그럼 PC2에서 ssh를 이용해 아래와 같이 ssh 명령어를 실행합니다
옵션 : C(압축하여 접속) , N(shell 명령어 실행 금지) , f(백그라운드로 실행) ,
L(터널링 옵션)로컬포트:리모트서버:리모트포트
명령어를 보면 3307포트로 로컬접속시 115.68.74.208(PC1)의 3306포트로 접속한다는 의미입니다.
명령어가 실행되면 아래와같이 3307 포트가 열려있는걸 확인 할수 있습니다.
그럼 이제 PC2에서 mysql 접속을 진행합니다.
ip를 127.0.0.1과 포트를 3307로 접속하여야지만 터널링을 통해 mysql서버로 접속할수 있습니다.
접속을 하면 아래와같이 PC1에 mysql로 접속된것을 확인 할수 있습니다.