문제
내가 AWS EC2 인스턴스를 종료했다가 재부팅을 하니까 겪었던 에러다.
검색해보니 MySQL 8.0 이상부터 보안이 강해지면서 생긴 문제라고 한다.
생각보다 해결 방법은 간단하다.
분석하기
MySQL 공식 사이트에서 확인을 할 수 있었는데 PublicKeyRetrieval은 공개 키 검색을 허용하는 설정이었다.
에러 메세지를 보면 공개 키 검색이 허용되지 않는다는 것 같은데 그럼 이걸 허용해주면 되지 않을까?!
사용자 계정이 sha256_password 인증을 사용하는 경우 전송 중에 암호를 보호해야 합니다. TLS가 이를 위한 선호되는 메커니즘이지만 사용할 수 없는 경우 RSA 공개 키 암호화가 사용됩니다. 서버의 RSA 공개 키를 지정하려면 ServerRSAPublicKeyFile 연결 문자열 설정을 사용하거나 AllowPublicKeyRetrieval=True를 설정하여 클라이언트가 서버에서 공개 키를 자동으로 요청할 수 있도록 합니다. AllowPublicKeyRetrieval=True를 사용하면 악의적인 프록시가 MITM 공격을 수행하여 일반 텍스트 암호를 얻을 수 있으므로 기본적으로 False이고 명시적으로 활성화해야 합니다.
구글 번역 찬스를 이용했더니 이렇다고 한다. 그럼 나는 디폴트 값인 false를 true로 바꿔주면 될 듯하다 !
해결 방안
디비버에서 접속하고자 하는 connection에 우클릭을 하고, Edit Connection에 들어간다.
Driver properties 탭에 들어가 보면 allowPublicKeyRetrieval을 찾을 수 있다.
디폴트값은 false로 돼 있을 것이다. 이렇게 true로 바꿔주고 확인을 누른다.
그럼 해결 완료 !!!
참조
https://computer-science-student.tistory.com/719
DBeaver(디비버) Public Key Retrieval is not allowed 에러
DBeaver(디비버) Public Key Retrieval is not allowed 에러 디비버에서 MySQL 데이터베이스 접속을 잘하다가 갑자기 Public Key Retrieval is not allowed 에러를 만났다. MySQL의 8.x 버전 이후부터 발생하는 문제라고 한
computer-science-student.tistory.com
'Cloud' 카테고리의 다른 글
[AWS] client_loop: send disconnect: Broken pipe 접속 끊어짐 + 해결 방법 (0) | 2024.11.20 |
---|---|
[AWS] nohup으로 배포 시 로그 확인하기 + 리눅스 명령어 (0) | 2024.11.18 |
[AWS] EC2 멈춤, 서버 연결 먹통, CPU 사용률 과부하 해결 (0) | 2024.11.13 |
[AWS] 로컬 시간과 AWS 서버 시간 차이 (0) | 2024.11.12 |