2022/10/14 Update. 우분투 22.04 LTS 시대 기준 DBeaver 22.2.2버전에서는 암호화 알고리즘 ed25519을 사용할 때 SSH 터널 설정 화면 아래에 Advanced Setting -> Implementation를 SSHJ로 선택해야 한다.
그리고, Putty접속용의 .ppk파일이 아니라 오리지널 개인키를 써도 된다.
보통 유동 IP를 사용하는 집에서는 mysql/mariadb나 Postgresql 서버에 접속하기 위해서 외부 접속 설정을 모든 IP에 대해서 허용해야한다.
SSH 같은 경우는 공개키 접속 방식으로 개인키 파일이 털리지 않는한은 절대로 접속이 불가능하게 되지만, DB 서버의 경우는 아이디/패스워드가 전부이기 떄문에 외부 접속을 열어두기가 아무래도 꺼림칙하다.
그래서 공개키 접속을 사용한 SSH 터널링으로 DB 서버에 접속하면 훨씬 안전하게 접속 할 수 있는데, 이미 공개키 방식으로 SSH 접속을 하고 있다면 설정은 별로 어려울 것도 없다.
DBeaver 등의 SSH 터널링을 지원하는 DB 툴로
DB 접속 호스트는 localhost 를 지정하고
포트, 아이디/패스워드등 나머지는 그대로.
SSH 터널링 설정을 들어가서 DB 서버의 IP 주소, SSH 유저 아이디, SSH 인증 방식을 공개키 방식으로 하고 개인키 파일을 지정하면 끝.
문제 해결
DBeaver에서는 개인키 파일을 ssh-keygen으로 만든걸 썼더니 에러를 뿜어서 Putty 접속용으로 변환된 .ppk 파일을 등록하니 잘 접속 된다.
접속이 안되서 또 애꿋은 방화벽 탓을 하다가 발견… 메시지가 방화벽과 전혀 관계가 없는데도 방화벽 탓을 하게 된다.
그리고, 마지막으로.
SSH 터널링으로 접속이 잘 될 경우에는 잊지 말고 반드시 DB의 외부 접속 허용 설정을 끌 것.
ssh 공개키/개인키 접속하는 방법 참고 https://storycompiler.tistory.com/112