Android

Sådan opretter du forbindelse til mysql gennem ssh tunnel

Configure Port Forwarding to Remotely Access Your Synology NAS | Synology

Configure Port Forwarding to Remotely Access Your Synology NAS | Synology

Indholdsfortegnelse:

Anonim

Som standard lytter MySQL-serveren kun til localhost, hvilket betyder, at den kun kan fås adgang til af applikationer, der kører på den samme vært.

I nogle situationer kan du muligvis oprette forbindelse til serveren fra eksterne placeringer. En mulighed ville være at konfigurere MySQL-serveren til at tillade fjernforbindelser, men det kræver administrative rettigheder, og det kan medføre sikkerhedsrisici.

Et mere sikkert alternativ ville være at oprette en SSH-tunnel fra det lokale system til serveren. SSH-tunneling er en metode til at oprette en krypteret SSH-forbindelse mellem en klient og en servermaskine, gennem hvilken serviceporte kan videresendes.

I denne vejledning forklarer vi, hvordan man opretter en SSH-tunnel og opretter forbindelse til MySQL-serveren fra eksterne klienter. De samme instruktioner gælder for MariaDB.

Forudsætninger

  • SSH Client.SSH adgang til det system, som MySQL-serveren kører på.

Opret en SSH-tunnel på Linux og macOS

ssh klienten er forinstalleret på de fleste Linux- og Unix-baserede systemer.

ssh -N -L 3336:127.0.0.1:3306 @

De anvendte indstillinger er som følger:

  • -N - Fortæller SSH ikke at udføre en fjernkommando. -L 3336:127.0.0.1:3306 - Opretter en lokal portvideresendelse. Den lokale port ( 3306 ), destinations-IP ( 127.0.0.1 ) og 3306 ( 3306 ) er adskilt med en kolon (:). @ - Den eksterne SSH-bruger og server-IP-adresse. Hvis du vil køre kommandoen i baggrunden, skal du bruge indstillingen -f Hvis SSH-serveren lytter til en anden port end 22 (standard), angiv porten med indstillingen -p .

Når du har kørt kommandoen, bliver du bedt om at indtaste din SSH-brugeradgangskode. Når du har indtastet den, bliver du logget på serveren, og SSH-tunnelen etableres. Det er en god ide at konfigurere en SSH-nøglebaseret godkendelse og oprette forbindelse til serveren uden at indtaste et kodeord.

Nu kan du pege din lokale maskins MySQL-klient til 127.0.0.1:3336 indtaste 127.0.0.1:3336 til ekstern database og få adgang til MySQL-serveren.

For eksempel at oprette forbindelse til MySQL-serveren ved hjælp af kommandolinjen mysql klienten, du vil udstede:

mysql -u MYSQL_USER -p -h 127.0.0.1

Hvor MYSQL_USER er den eksterne MySQL-bruger, der har privilegier til at få adgang til databasen.

Når du bliver bedt om det, skal du indtaste MySQL-brugeradgangskoden.

For at afslutte SSH-tunneltypen CTRL+C i konsollen, hvor ssh-klienten kører.

Opret en SSH-tunnel på Windows

Windows-brugere skal først downloade og installere et SSH-klientprogram. Den mest populære Windows SSH-klient er PuTTY. Du kan downloade PuTTY her.

Udfør følgende trin for at oprette en SSH-tunnel til MySQL-serveren med PuTTY:

  1. Start kitt, og indtast serverens IP-adresse i feltet Host name (or IP address) :

    Konklusion

    MySQL, den mest populære open source-databaseserver, lytter kun til indgående forbindelser på localhost. Oprettelse af en SSH-tunnel giver dig mulighed for sikkert at oprette forbindelse til den eksterne MySQL-server fra din lokale klient.

    mysql mariadb ssh