androide

Come connettersi a mysql attraverso il tunnel ssh

SQL Developer connecting to the MySQL server via an SSH tunnel (WIndows 10)

SQL Developer connecting to the MySQL server via an SSH tunnel (WIndows 10)

Sommario:

Anonim

Per impostazione predefinita, il server MySQL è in ascolto solo su localhost, il che significa che è possibile accedervi solo dalle applicazioni in esecuzione sullo stesso host.

Tuttavia, in alcune situazioni, potresti voler connetterti al server da posizioni remote. Un'opzione sarebbe quella di configurare il server MySQL per consentire le connessioni remote, ma ciò richiede privilegi amministrativi e potrebbe causare rischi per la sicurezza.

Un'alternativa più sicura sarebbe quella di creare un tunnel SSH dal sistema locale al server. Il tunneling SSH è un metodo per creare una connessione SSH crittografata tra un client e una macchina server attraverso la quale è possibile inoltrare le porte dei servizi.

In questa guida, spiegheremo come creare un tunnel SSH e connettersi al server MySQL da client remoti. Le stesse istruzioni valgono per MariaDB.

Prerequisiti

  • Client SSH Accesso SSH al sistema su cui è in esecuzione il server MySQL.

Crea un tunnel SSH su Linux e macOS

Il client ssh è preinstallato sulla maggior parte dei sistemi basati su Linux e Unix.

ssh -N -L 3336:127.0.0.1:3306 @

Le opzioni utilizzate sono le seguenti:

  • -N - Indica a SSH di non eseguire un comando remoto. -L 3336:127.0.0.1:3306 - Crea un port forwarding locale. La porta locale ( 3306 ), l'IP di destinazione ( 127.0.0.1 ) e la porta remota ( 3306 ) sono separate da due punti (:). @ - L'indirizzo IP dell'utente e del server SSH remoto. Per eseguire il comando in background, utilizzare l'opzione -f Se il server SSH è in ascolto su una porta diversa da 22 (impostazione predefinita), specificare la porta con l'opzione -p .

Una volta eseguito il comando, ti verrà chiesto di inserire la password dell'utente SSH. Dopo averlo inserito, si accederà al server e verrà stabilito il tunnel SSH. È consigliabile impostare un'autenticazione basata su chiave SSH e connettersi al server senza immettere una password.

Ora puoi puntare il client MySQL della tua macchina locale su 127.0.0.1:3336 inserire le credenziali di accesso al database remoto e accedere al server MySQL.

Ad esempio, per connettersi al server MySQL utilizzando il client mysql riga di comando, è necessario emettere:

mysql -u MYSQL_USER -p -h 127.0.0.1

Dove MYSQL_USER è l'utente remoto di MySQL che dispone dei privilegi per accedere al database.

Quando richiesto, immettere la password dell'utente MySQL.

Per terminare il tunnel SSH digitare CTRL+C nella console in cui è in esecuzione il client ssh.

Crea un tunnel SSH su Windows

Gli utenti Windows dovranno prima scaricare e installare un programma client SSH. Il client SSH Windows più popolare è PuTTY. Puoi scaricare PuTTY qui.

Effettuare le seguenti operazioni per creare un tunnel SSH sul server MySQL con PuTTY:

  1. Avviare Putty e inserire l'indirizzo IP del server nel campo Host name (or IP address) :

    Conclusione

    MySQL, il più popolare server di database open source, ascolta le connessioni in entrata solo su localhost. La creazione di un tunnel SSH consente di connettersi in modo sicuro al server MySQL remoto dal client locale.

    mysql mariadb ssh