Foros del Web » Programando para Internet » PHP »

Ssh php

Estas en el tema de Ssh php en el foro de PHP en Foros del Web. Hola Foro Tengo un problema con una conexion ssh de la que ya estoy arto, les dejo el codigo a ver si ustedes encuentran un ...
  #1 (permalink)  
Antiguo 16/02/2012, 10:38
 
Fecha de Ingreso: abril-2010
Mensajes: 229
Antigüedad: 14 años
Puntos: 3
Ssh php

Hola Foro

Tengo un problema con una conexion ssh de la que ya estoy arto, les dejo el codigo a ver si ustedes encuentran un error por que yo no, se conecta perfectamente al server pero a la hora de conectarme a la bd me envia este error

127.0.0.1,
Usuario,
Contraseña,
Puerto3306,

Los parametros Usuario y Contraseña pasan correctamente y estan correctos ya los revice muchas veces

Warning: mysql_connect() [function.mysql-connect]: Can't connect to MySQL server on '127.0.0.1' (10061) in line 30
IMPOSIBLE ESTABLECER CONEXION

Código PHP:
 /*INICIA PROGRAMA*/
  
global $base;
    
    
$user 'xxx';
    
$pass 'xxxx';
    
$remotehost 'xxx.xxx.xxx.xxx';
    
$connection ssh2_connect($remotehost'22');    
     if (
ssh2_auth_password($connection$user,$pass))
         { 
            echo 
"Conexion exitosa\n";
            if (
estable_conexion('127.0.0.1','USUARIO','CONTRASEÑA','BASE','3306'))            
            {
             
busca($extensiones);
            }
            else 
                {
                    echo 
"IMPOSIBLE ESTABLECER CONEXION";
                }
        }
        else 
        { 
            die(
'Authentication Failed...'); 
        }
  
  echo 
"Proceso terminado"
Código PHP:
function estable_conexion($server$usuario$pass$base$port)
  {    
    echo 
$server;
    echo 
$usuario;
    echo 
$pass;
    echo 
"Puerto".$port;
    
    
$result false;
    
$conexion mysql_connect($server$usuario$pass$base$port);
    if (
$conexion
    {
      
mysql_select_db($base,$conexion);
      
$result true;
      echo 
"$result".$result;
    }
    return 
$result;
  } 
  #2 (permalink)  
Antiguo 16/02/2012, 10:43
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: Ssh php

Prueba poniendo esto

Código PHP:

$conexion 
mysql_connect($server$usuario$pass); 
Deberías acostumbrarte a tirar de manual: http://es2.php.net/mysql_connect

Fíjate en los parámetros que acepta ;)
__________________
>> Eleazan's Source
>> @Eleazan
  #3 (permalink)  
Antiguo 16/02/2012, 10:53
 
Fecha de Ingreso: abril-2010
Mensajes: 229
Antigüedad: 14 años
Puntos: 3
Respuesta: Ssh php

Te agradesco mucho la sugerencia, pero ya lo hice de esa forma incluso acabo de probar con la linea que colocaste y manda el mismo error, el echo de los parametros es por que estuve buscando en internet y encontre en muchas paginas esa forma de conexion...
  #4 (permalink)  
Antiguo 16/02/2012, 11:00
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: Ssh php

Pues estás poniendo mal algo (o no tienes MySQL)

Prueba con

Código PHP:
$conexion mysql_connect($server$usuario$pass) or die("Error al conectar: ".mysql_error()); 
PD: Se supone q la conexion a MySQL la quieres hacer "a traves de" ssh? O_O
__________________
>> Eleazan's Source
>> @Eleazan
  #5 (permalink)  
Antiguo 16/02/2012, 11:17
 
Fecha de Ingreso: abril-2010
Mensajes: 229
Antigüedad: 14 años
Puntos: 3
Respuesta: Ssh php

Tengo MySQL ya probe tu linea de codigo y no logro conectarme, los datos son los correctos, ya probe incluso con otros usuarios y passwords y siempre es lo mismo, la conexion ssh primero te conectas al server y una vez que estas adentro te conectas con mysql como localhost, al server donde esta mysql ya me conecto, lo que no se es por que no entro a la bd mysql...
  #6 (permalink)  
Antiguo 16/02/2012, 11:20
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: Ssh php

Veamos,

Si quieres conectarte por ssh, tendrás que usar algo así ssh2_exec, que sirve para ejecutar un comando via ssh.

Si quieres conectarta a mysql via PHP (mysql_query no usa tu conexion SSH), puedes usar, seguramente, $remotehost como servidor ;).
__________________
>> Eleazan's Source
>> @Eleazan
  #7 (permalink)  
Antiguo 16/02/2012, 11:28
 
Fecha de Ingreso: abril-2010
Mensajes: 229
Antigüedad: 14 años
Puntos: 3
Respuesta: Ssh php

Ok encontre esto en el manual de php

Código PHP:
<?php
$connection 
ssh2_connect('shell.example.com'22);
ssh2_auth_password($connection'username''password');

$stream ssh2_exec($connection'/usr/local/bin/php -i');
?>
No se que es esto te agradesco si me lo explcias gracias...

'/usr/local/bin/php -i'
  #8 (permalink)  
Antiguo 16/02/2012, 11:38
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: Ssh php

Basicamente, lo mismo que si entras al terminal de unix, y escribes
"php -i".


Supongo que la info de la versión de php xD
__________________
>> Eleazan's Source
>> @Eleazan
  #9 (permalink)  
Antiguo 16/02/2012, 11:46
 
Fecha de Ingreso: abril-2010
Mensajes: 229
Antigüedad: 14 años
Puntos: 3
Respuesta: Ssh php

Ok mi pregunta es puedo ejecutar una consulta mysql en ese parametro
  #10 (permalink)  
Antiguo 16/02/2012, 19:01
 
Fecha de Ingreso: abril-2010
Mensajes: 229
Antigüedad: 14 años
Puntos: 3
Respuesta: Ssh php

Tengo una duda

En teoria o como entiendo las cosas primero haces una conexion a tu servidor por ssh, y despues estando ahi haces la conexion localmente a mysql por el 3306 que es el default con tu usuario y contraseña local de acuerdo

ahora la duda es

tu usuario de ssh tiene que estar ya en la bd de mysql con privilegios de remoto o si es independiente de como te conectes por ssh, espero haberme explicado bien
  #11 (permalink)  
Antiguo 17/02/2012, 02:25
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: Ssh php

No te compliques tanto.

Para conectarte a mysql desde php no hace falta ssh. SSH te sirve para ejecutar comandos en la shell (consola) remota.

MySQL tiene su propia conexión remota, no te hace falta SSH ;)
__________________
>> Eleazan's Source
>> @Eleazan
  #12 (permalink)  
Antiguo 17/02/2012, 03:30
Avatar de alvidales  
Fecha de Ingreso: febrero-2012
Mensajes: 108
Antigüedad: 12 años, 2 meses
Puntos: 11
Respuesta: Ssh php

Hola, espero te pueda servir esta información de algo:

Para abrir una conexión ssh:
Código PHP:
shell_exec("ssh -f -L 3307:127.0.0.1:3306 [email protected] sleep 60 >> logfile"); 
Para conectarte a la base de datos utilizando el tunel que abriste previamente:
Código PHP:
$db mysql_connect('127.0.0.1''sqluser''sqlpassword''rjmadmin'3307); 
utiliza otro puerto que no sea el 3306 para abrir el tunel, en este caso se abrio el 3307 el cual estaras utilizando para conectarte con la base de datos.

El ejemplo que muestro es cuando ya tienes hosts autorizados, te recomiendo que no utilices la contraseña de ssh, este tema es delicado en cuestion de seguridad.

Fuente: "http://info.rjmetrics.com/blog/bid/44903/PHP-MySQL-and-SSH-Tunneling-Port-Forwarding"
  #13 (permalink)  
Antiguo 17/02/2012, 08:55
 
Fecha de Ingreso: abril-2010
Mensajes: 229
Antigüedad: 14 años
Puntos: 3
Respuesta: Ssh php

Hola gracias por sus respuestas, yo se que ssh es para consola la cual no me desagrada pero es requerimiento de trabajo y estas de acuerdo que no puedes decir que no por eso estoy conectando por ssh...

Etiquetas: mysql, sql, ssh, usuarios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:14.