Pregunta

Quiero conectarme a mi servidor MySQL remoto a través del reenvío de puertos.Desafortunadamente, mi proveedor de alojamiento no tiene instalado php_ssh2 instalado en el servidor, por lo que tengo que trabajar a través de la biblioteca de phpseclib.Hasta ahora puedo hacer:

1 - Conecte al servidor usando Net_SSH2:

$ssh = new Net_SSH2('xx.xxx.xx.xx');  
 if (!$ssh->login('user', 'password')) {  
    exit('Login Failed');  
 }  

Si hago echo $ssh->exec('ls -la');, obtiene el listado de directorio, informamos que estamos conectados con éxito.

si ejecuto

2 - echo $ssh->exec('echo "select * from table where company_id=\"15\";" | mysql');

se desencadena:

stdin: no es un error TTY 1045 (28000): Acceso denegado para el usuario 'Usuario' @ 'localhost' (usando contraseña: no)

3 - Si hago echo $ssh->exec('ssh -f -L 3307:localhost:3306 root@xx.xxx.xxx.xxx sleep 60 >> logfile');

Se ejecuta para siempre, lo que resulta en ningún error de respuesta del servidor.

Estoy sacando mi cabello.Ayuda !!!!!

¿Fue útil?

Solución

tal vez intente esto?:

echo $ssh->exec('echo "select * from table where company_id=\"15\";" | mysql -u username -password=password database');

Como es probable que esté esperando que se ingrese una contraseña.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top