SSH 터널을 통해 AWS의 mysql에 연결할 수 없습니다.

SSH 터널을 통해 AWS의 mysql에 연결할 수 없습니다.

나는 그것을 무너뜨리려고 노력하고 있다.Rubymine에서 AWS 디버깅을 더 작은 덩어리로 수행하는 것입니다. AWS에서 실행되는 mysql 서버에 연결하고 싶습니다. 그래서 나는 다음을 수행했습니다.

첫 번째:포트 3307에 대한 모든 localhost 요청을 AWS의 포트 3306으로 전달하도록 SSH 터널을 설정합니다.

ssh -l ubuntu -i 'path/to/private/key/privateKey.cer' -L 3307:aws.port:3306 aws.port -N -v -v

두번째:포트 3307에서 mysql에 연결

mysql -h 127.0.0.1 -P 3307 -u root -p 

문제: 내 호스트 컴퓨터에서 다음 오류로 인해 실패합니다.

ERROR 1130 (HY000): Host '178.135.138.61' is not allowed to connect to this MySQL server

AWS의 로그는 다음을 출력합니다.

debug1: Connection to port 3307 forwarding to 54.193.1.19 port 3306 requested.
debug2: fd 7 setting TCP_NODELAY
debug1: channel 2: new [direct-tcpip]
channel 2: open failed: connect failed: Connection refused
debug2: channel 2: zombie
debug2: channel 2: garbage collecting
debug1: channel 2: free: direct-tcpip: listening port 3307 for 54.193.1.19 port 3306, connect from 127.0.0.1 port 64938, nchannels 3

노트:

  • ssh내가 연결하려는 AWS 서버의 보안 그룹이 포트 22에서의 연결을 허용하는지 확인했습니다 .
  • /etc/hosts.denyAWS에 localhost 또는 127.0.0.1이 나열되어 있지 않은지 확인했습니다 .

아이디어?

답변1

오류 메시지

ERROR 1130 (HY000): Host '178.135.138.61' is not allowed to connect to this MySQL server

MySQL에서 나옵니다. 사용자 루트에 대한 원격 액세스를 허용하려면 mysql 서버에서 특정 데이터베이스에 대해 이를 특별히 허용해야 합니다.

mysql -u root -p
mysql> grant all privileges on somedatabase.* to 'root'@'178.135.138.61' identified by 'somepassword';
mysql> flush privileges;

그러면 사용자 이름 루트가 일부 데이터베이스에 대한 모든 권한을 가지고 178.135.138.61에서 mysql에 연결할 수 있습니다.

당신은 아마도MySQL 보안 문서특히액세스 제어그리고사용자 관리장.

관련 정보