cPanel tárhely adatbázisának távoli elérése

cPanel 2 perc olvasás

A MySQL vagy MariaDB szolgáltatáshoz a 3306-os porton keresztül érkező kapcsolatok alapértelmezés szerint nem titkosítottak, így a jelszó és az adatok is lehallgathatók lennének. Ezért cPanel szervereinken az adatbázisok kívülről közvetlenül nem érhetők el, csak titkosított SSH tunnelen keresztül. A cPanel Remote Database Access (Távoli adatbázis-hozzáférés) felületén megadott IP-címek emiatt nem nyitnak közvetlen elérést.

Ez egy haladó témakör, és feltételezi, hogy van némi tapasztalata az SSH-val és az SQL kliensprogramokkal.

Előfeltételek

Linux, macOS, WSL és Windows PowerShell

Nyisson egy terminált, majd az alábbi paranccsal építse fel a tunnelt a cPanel tárhelyhez:

ssh -p 4231 -N -L 3333:localhost:3306 user@server

Ahol:

  • -p 4231: az SSH szerver portja, ahová csatlakozni kell.
  • -N: a kliens ne indítson parancsot vagy shellt, csak a tunnelt tartsa fenn.
  • -L 3333:localhost:3306: a saját gép 3333-as portjára érkező forgalmat a szerver felől nézve a localhost:3306 címre továbbítja (a localhost itt a távoli szervert jelenti).
  • user@server: a cPanel felhasználónév és a szerver neve.

A Windows 10 és 11 beépített OpenSSH kliense ugyanezt a parancsot elfogadja PowerShellben. Ha a kapcsolat tétlenség miatt megszakad, adja hozzá a -o ServerAliveInterval=60 kapcsolót.

Windows, PuTTY

  1. A PuTTY-ban adja meg a szerver nevét és az SSH portot, a Connection > SSH > Auth > Credentials részben pedig a PPK formátumú titkos kulcsot.
  2. A Connection > SSH > Tunnels oldalon a Source port mezőbe írja be: 3333, a Destination mezőbe: localhost:3306, majd kattintson az Add gombra.
  3. Csatlakozzon, és amíg az ablak nyitva van, a tunnel él.

Az SQL kliens beállítása

Amíg a tunnel él, az SQL kliensben (például HeidiSQL, DBeaver, MySQL Workbench) a következőket adja meg:

  • Kiszolgáló: 127.0.0.1 (ne localhost-ot írjon, mert egyes kliensek azt helyi socketként értelmezik, és nem a tunnelt használják),
  • Port: 3333,
  • Felhasználó és jelszó: az adatbázis-felhasználó teljes neve és jelszava.

A felsorolt programok saját SSH tunnel funkcióval is rendelkeznek (HeidiSQL: „MySQL (SSH tunnel)”, MySQL Workbench: „Standard TCP/IP over SSH”, DBeaver: SSH fül). Ilyenkor külön parancs nem kell: az SSH résznél a szerver nevét, a portot, a cPanel felhasználónevet és a kulcsot, az adatbázis résznél a 127.0.0.1 címet és a 3306-os portot adja meg.

Gyakori hibák

  • Permission denied (publickey): a kulcs nincs engedélyezve a cPanel SSH Access felületén, vagy nem a megfelelő titkos kulcsot használja.
  • Address already in use: a gépén a 3333-as port foglalt; válasszon másikat (például 3334:localhost:3306).
  • Access denied for user: hiányzik a felhasználónév elejéről a cPanel előtag, vagy a felhasználó nincs hozzárendelve az adatbázishoz.
Vissza: cPanel leírások (43)