Publicidad

Conectar a MySql desde PHP a través de tunel SSH


Por Alex el 06/02/2023, Comentar el artículo

Comparte este artículo:      




Cuando el servidor MySql no esta accesible desde tu entorno de desarrollo podemos acceder a el a través de un tunel SSH pasando por un servidor que si tenga acceso a él.


Supongamos que tenemos un servidor web con la IP 192.168.111.12 que tiene acceso al servidor MySql y éste tiene la dirección database.dominio.com en el puerto 3306 para conectar a través de SSH desde nuestro entorno de desarrollo crearemos un tunel que pase por este servidor web.

ssh -f -L 127.0.0.1:33038:database.dominio.com:3306 root@192.168.111.12 -i /home/usuario/.ssh/id_rsa sleep 60 >> /tmp/logfile

Y la conexión al MySql desde PHP la haríamos de la siguiente forma:

$db = mysqli_connect("127.0.0.1", "root", "password", "base_de_datos", 33038);

El código en un script de PHP quedaría así:

Shell_exec("ssh -f -L 127.0.0.1:33038:database.dominio.com:3306 root@192.168.111.12 -i /home/usuario/.ssh/id_rsa sleep 60  >> /tmp/logfile");

$db = mysqli_connect("127.0.0.1", "root", "password", "sakila", 33038);

$rows = $db->query( "Select * from film")->fetch_all();

print_r ( $rows);


Para postgreSQL o SQL Server es igual pero cambiando los drivers de conexión de PHP por el que corresponda en cada caso.

Y esto es todo, feliz programming
Saludos
Alex.
/


Si te ha gustado el artículo compartelo en:      




Añadir un comentarios:

Nombre:
Email: (no se publica el email)




SIGUENOS EN

ARCHIVO

Publicidad

.