DEV Community

Cover image for DBeaver MySQL csatlakozás SSH tunnelen keresztül
Simon Benjámin
Simon Benjámin

Posted on

DBeaver MySQL csatlakozás SSH tunnelen keresztül

Verzió információk:

DBeaver: Version 22.0.2.202204041542
MySQL szerver: 8.0.27
Enter fullscreen mode Exit fullscreen mode

Hozzuk létre az új kapcsolatot:
új kapcsolat

Állítsuk be az SSH tunnelt (1) én készítettem profilt (2), hogy több kapcsolatnál is tudjam ugyanazt az SSH konfigurációt használni, ezt ki lehet hagyni a "Settings"-nél meg lehet adni a szükséges adatokat:
SSH tunnel

Adjuk meg a bejelentkezéshez az adatokat (2) és teszteljük a kapcsolatot (3):
SSH kapcsolat

Eddig jók vagyunk:
SSH kapcsolat sikeres

"OK" majd "Apply and Close"-al zárjuk be az SSH beállításokat, visszatérünk az adatbázis konfigurációhoz, adjuk meg (1) az előbb létrehozott SSH profilt:
SSH profil kiválasztás

Váltsunk a "Main" tabra és ott adjuk meg (1) az adatbázis eléréshez szükséges adatokat (a tunnel miatt itt a "Server Host" localhost és "Port" pedig a szerveren lévő MySQL - általában alapértelmezett - 3306-os portja), majd teszteljük a kapcsolatot (2):
Adatbázis kapcsolódási adatok

Itt lehetnek problémák, pl:

  • nincs engedélyezve a távoli kapcsolat a MySQL szerveren (mysqld.cnf konfiguráció)
  • a megadott felhasználóval nem tudunk kapcsolódni (mysql adatbázis db, host, user beállításai)
  • nem megfelelő user + jelszó

Végül pedig amibe belefutottunk:

  • SSH jó volt (másik kapcsolat működött)
  • másik adatbázishoz másik felhasználó működött
  • jó volt a jelszó
  • beállításaik szinte 99%-ban megegyeztek (db, host, user)

Ezek után ezt a hibát kaptuk: Public Key Retrieval is not allowed a [Driver properties] alatt van egy allowPublicKeyRetrieval kulcs amit módosítottam true/yes-re. Nem oldotta meg, jött a következő: Access denied for user '<USER>'@'<HOST>' (using password: YES).

Itt kezdtem gyanakodni és nyomozni, hogy miben tér el a működő és a nem működő felhasználó beállítása a mysql táblákban. Egyetlen dolog volt ami szóba jöhetett (minden más stimmelt) a user.plugin oszlopnak: caching_sha2_password volt az értéke, a működő felhasználónak pedig mysql_native_password.

Módosítsuk az érintett felhasználó bejelentkezését:

ALTER USER '< USER >'@'< HOST >' 
IDENTIFIED WITH mysql_native_password BY '<*** PASS ***>';

FLUSH privileges;
Enter fullscreen mode Exit fullscreen mode

Ezek után sikeresen tudtam kapcsolódni az adatbázishoz.

Top comments (0)