Android

Hvordan koble til mysql gjennom ssh tunnel

02 Connecting to MySQL via SSH

02 Connecting to MySQL via SSH

Innholdsfortegnelse:

Anonim

Som standard lytter MySQL-serveren bare til localhost, noe som betyr at den bare kan nås av applikasjoner som kjører på samme vert.

I noen situasjoner kan det imidlertid være lurt å koble til serveren fra eksterne steder. Et alternativ vil være å konfigurere MySQL-serveren slik at eksterne forbindelser tillates, men det krever administrative rettigheter, og det kan forårsake sikkerhetsrisiko.

Et sikrere alternativ vil være å lage en SSH-tunnel fra det lokale systemet til serveren. SSH-tunneling er en metode for å opprette en kryptert SSH-forbindelse mellom en klient og en servermaskin som tjenesteporter kan videresendes gjennom.

I denne guiden vil vi forklare hvordan du oppretter en SSH-tunnel og kobler til MySQL-serveren fra eksterne klienter. De samme instruksjonene gjelder for MariaDB.

Forutsetninger

  • SSH Client.SSH-tilgang til systemet som MySQL-serveren kjøres på.

Lag en SSH-tunnel på Linux og macOS

ssh klienten er forhåndsinstallert på de fleste Linux- og Unix-baserte systemer.

ssh -N -L 3336:127.0.0.1:3306 @

Alternativene som brukes er som følger:

  • -N - Ber SSH om ikke å utføre en ekstern kommando. -L 3336:127.0.0.1:3306 - Oppretter en lokal portvideresending. Den lokale porten ( 3306 ), destinasjons-IP ( 127.0.0.1 ) og den eksterne porten ( 3306 ) er atskilt med en kolon (:). @ - Den eksterne SSH-brukeren og serverens IP-adresse. For å kjøre kommandoen i bakgrunnen, bruk alternativet -f Hvis SSH-serveren lytter på en annen port enn 22 (standard), spesifiser porten med alternativet -p .

Når du har kjørt kommandoen, blir du bedt om å oppgi SSH-brukerpassordet. Etter at du har skrevet den inn, blir du logget inn på serveren, og SSH-tunnelen blir opprettet. Det er lurt å sette opp en SSH-nøkkelbasert autentisering og koble til serveren uten å oppgi et passord.

Nå kan du peke den lokale maskinens MySQL-klienten til 127.0.0.1:3336 gå inn på innloggingsinformasjon for ekstern database og få tilgang til MySQL-serveren.

For å koble til MySQL-serveren ved å bruke kommandolinjen mysql klienten, vil du for eksempel utstede:

mysql -u MYSQL_USER -p -h 127.0.0.1

Hvor MYSQL_USER er den eksterne MySQL-brukeren som har rettigheter til å få tilgang til databasen.

Når du blir bedt om det, skriver du inn MySQL-brukerpassordet.

For å avslutte SSH-tunnelen, skriver du CTRL+C i konsollen der ssh-klienten kjører.

Lag en SSH-tunnel på Windows

Windows-brukere må først laste ned og installere et SSH-klientprogram. Den mest populære Windows SSH-klienten er PuTTY. Du kan laste ned PuTTY her.

Utfør følgende trinn for å opprette en SSH-tunnel til MySQL-serveren med PuTTY:

  1. Start kitt og skriv inn IP-adressen til serveren i Host name (or IP address) -feltet:

    Konklusjon

    MySQL, den mest populære open source-databaseserveren, lytter kun til innkommende tilkoblinger på localhost. Ved å opprette en SSH-tunnel kan du koble deg sikkert til den eksterne MySQL-serveren fra din lokale klient.

    mysql mariadb ssh