Foros del Web » Programando para Internet » PHP »

Problema abrir archivo ssh2 y php

Estas en el tema de Problema abrir archivo ssh2 y php en el foro de PHP en Foros del Web. Hola a todos. Quiero que vean si esto esta bien: Código PHP: <?php  $ip  =  '127.0.0.1' ; $con  =  ssh2_connect ( $ip ,  22 ); ...
  #1 (permalink)  
Antiguo 23/02/2013, 20:42
 
Fecha de Ingreso: mayo-2012
Ubicación: Mar del Plata
Mensajes: 157
Antigüedad: 12 años
Puntos: 0
Problema abrir archivo ssh2 y php

Hola a todos.

Quiero que vean si esto esta bien:

Código PHP:
<?php 
$ip 
'127.0.0.1';
$con ssh2_connect($ip22);
ssh2_auth_password($con'root','miipdelserver'); 
$file_log '/panel_data/clientes/CeKiT/49571/mods/deathmatch/logs/server.log';
 
$stream ssh2_exec($con'cat '.$file_log);
$resultado stream_get_contents($stream);
?>
<textarea><?php echo $resultado?></textarea>
yo creo que esta bien, el problema es que cuando lo pruebo el script no me abre el server.log. Debo darle algun permiso para que pueda abrir ese archivo???

Gracias,
  #2 (permalink)  
Antiguo 24/02/2013, 07:53
Avatar de Knight_Rider  
Fecha de Ingreso: noviembre-2009
Ubicación: La House de mis viejos XD
Mensajes: 83
Antigüedad: 14 años, 6 meses
Puntos: 4
Respuesta: Problema abrir archivo ssh2 y php

Cita:
Iniciado por CeKiT Ver Mensaje
Hola a todos.

Quiero que vean si esto esta bien:

Código PHP:
<?php 
$ip 
'127.0.0.1';
$con ssh2_connect($ip22);
ssh2_auth_password($con'root','miipdelserver'); 
$file_log '/panel_data/clientes/CeKiT/49571/mods/deathmatch/logs/server.log';
 
$stream ssh2_exec($con'cat '.$file_log);
$resultado stream_get_contents($stream);
?>
<textarea><?php echo $resultado?></textarea>
yo creo que esta bien, el problema es que cuando lo pruebo el script no me abre el server.log. Debo darle algun permiso para que pueda abrir ese archivo???

Gracias,
Pregunto y terminar así?
Código PHP:
 echo '<textarea>'.$resultado.'</textarea>';
?> 
y te ahorras hacer aperturas y cierres de php... por otro lado,
ssh es un panel/sistema de comandos, que te devuelve true si se ha ejecutado y false si no se ha ejecutado tu comando.

lo que tu quieres hacer para leer un simple log... que en sí no es mas que un txt con extensión log... podrías usar cURL() para leer el archivo. y naturalmente tienes que tener ese 127.0.0.1 en modo servidor con contraseña si quieres, pero ha de estar preparado para servir la solicitud que le haría cURL, de lo contrario seguirás sin leer nada.
  #3 (permalink)  
Antiguo 24/02/2013, 09:30
Avatar de gildus  
Fecha de Ingreso: agosto-2003
Mensajes: 1.495
Antigüedad: 20 años, 8 meses
Puntos: 105
Respuesta: Problema abrir archivo ssh2 y php

Holas,

Si el archivo .log es pesado puedes usar el tail de linux. Ahora si desconoces si tienes permisos de lectura creo que podria usar la funcion fileperms de PHP. Otra forma creo que es logeandote con los mismos accesos que usas mediante un cliente SSH (putty por ejemplo si lo haces desde windows) o desde consola de tu linux:
Código BASH:
Ver original
  1. ssh root@LA_IP_DE_TU_SERVIDOR_SSH

El valor de LA_IP_DE_TU_SERVIDOR_SSH obviamente no sera 127.0.0.1 sino la ip a nivel LAN (si estas en la misma red) o a nivel publica (si estas fuera de la red).

Tambien por seguridad deberias de preguntarte antes si el archivo existe o este listo para leerse con is_readable y file_exists.

En resumen, creo antes te crearias un archivo aparte para probar y/o ver los permisos de lectura de tu archivo con fileperms:
Código PHP:
Ver original
  1. $file_log = '/panel_data/clientes/CeKiT/49571/mods/deathmatch/logs/server.log';
  2. echo substr(sprintf('%o', fileperms($file_log)), -4);

Si tienes permisos entonces puedes continuar con el otro archivo (donde usas la funcion ssh2_connect ).


Saludos,
__________________
.: Gildus :.
  #4 (permalink)  
Antiguo 24/02/2013, 12:05
 
Fecha de Ingreso: mayo-2012
Ubicación: Mar del Plata
Mensajes: 157
Antigüedad: 12 años
Puntos: 0
Respuesta: Problema abrir archivo ssh2 y php

Hola a los dos.

Gildus ya me habias dicho lo del tail. No lo modifique pero usare tail.

El archivo existe. Probe con file_exist y siempre me dice que no existe. Pero el archivo esta. Entonces decidi usar ssh2 para ver si puedo abrirlo son ssh2. Por eso pregunto de los permisos. Por que dice que no esta y es sierto. Cuando llege a mi casa probare los permisos.

gracias
  #5 (permalink)  
Antiguo 24/02/2013, 21:24
 
Fecha de Ingreso: mayo-2012
Ubicación: Mar del Plata
Mensajes: 157
Antigüedad: 12 años
Puntos: 0
Respuesta: Problema abrir archivo ssh2 y php

Tendria que probarlo usando:

Código HTML:
<?php  
$ip = '127.0.0.1'; 
$con = ssh2_connect($ip, 22); 
ssh2_auth_password($con, 'root','miipdelserver');  
$file_log = '/panel_data/clientes/CeKiT/49571/mods/deathmatch/logs/server.log'; 
echo substr(sprintf('%o', fileperms($file_log)), -4);
  
$stream = ssh2_exec($con, 'cat '.$file_log); 
$resultado = stream_get_contents($stream); 
?> 
echo '<textarea>'.$resultado.'</textarea>'; 

Por que no estoy en mi casa y quiero probarlo cuando llege. Gracias




EDITO: Ya lo probe el me dice "0" en los permisos

Última edición por CeKiT; 24/02/2013 a las 21:31
  #6 (permalink)  
Antiguo 25/02/2013, 07:44
Avatar de gildus  
Fecha de Ingreso: agosto-2003
Mensajes: 1.495
Antigüedad: 20 años, 8 meses
Puntos: 105
Respuesta: Problema abrir archivo ssh2 y php

Bueno, me imagino que estas revisando los links que mencione, y justo existen variantes en los mismo links.

Haz intentado o pensado alguna remota o mas minima idea de usar el putty?.

No tratemos de solo mirar codigo y de copear y pegar, intentemos de leer un poco o solo un poquito y las cosas salen de maravilla:

- Usas Windows o Linux?.
- Conoces putty? o usas consola de linux?.
- Estas Completamente y absolutamente seguro que tienes permisos a los archivos? (desde consola con solo hacer un cat o un ls ya tienes permisos.)
- Haz leido el manual de la funcion ssh2_connect ? http://www.php.net/manual/es/functio...exec.php#99089 sobre todo los comentarios.
- Tienes acceso total a tu servidor? porque muestras el usuario root?
- Si tienes acceso total al servidor como root entonces podrias usar esta funciones : http://www.php.net/manual/es/ref.exec.php.
- Si usas ssh es mas sobre todo para acceder desde otro lugar que no sea localhost o 127.0.0.1, si estas en el mismo server es practico usar las funciones que ejecucion de programas

Nos cuentas.

Saludos
__________________
.: Gildus :.
  #7 (permalink)  
Antiguo 25/02/2013, 12:05
 
Fecha de Ingreso: mayo-2012
Ubicación: Mar del Plata
Mensajes: 157
Antigüedad: 12 años
Puntos: 0
Respuesta: Problema abrir archivo ssh2 y php

Cita:
Iniciado por gildus Ver Mensaje
Bueno, me imagino que estas revisando los links que mencione, y justo existen variantes en los mismo links.

Haz intentado o pensado alguna remota o mas minima idea de usar el putty?.

No tratemos de solo mirar codigo y de copear y pegar, intentemos de leer un poco o solo un poquito y las cosas salen de maravilla:

- Usas Windows o Linux?.
- Conoces putty? o usas consola de linux?.
- Estas Completamente y absolutamente seguro que tienes permisos a los archivos? (desde consola con solo hacer un cat o un ls ya tienes permisos.)
- Haz leido el manual de la funcion ssh2_connect ? [url]http://www.php.net/manual/es/function.ssh2-exec.php#99089[/url] sobre todo los comentarios.
- Tienes acceso total a tu servidor? porque muestras el usuario root?
- Si tienes acceso total al servidor como root entonces podrias usar esta funciones : [url]http://www.php.net/manual/es/ref.exec.php[/url].
- Si usas ssh es mas sobre todo para acceder desde otro lugar que no sea localhost o 127.0.0.1, si estas en el mismo server es practico usar las funciones que [URL="http://www.php.net/manual/es/ref.exec.php"]ejecucion de programas[/URL]

Nos cuentas.

Saludos
Hola.

Utilizo linux, CentOS 6
Utilizo putty
Si soy root y cuando pongo cat server.log me lo muestra perfectamente.
Tengo acceso completo al servidor. como te dije soy root.
Solamente puse 127.0.0.1 para dar el ejemplo. Pero en realidad mi panel se conecta a varios vps donde hay un server.log y segun el usuario que este lgoeado el original es este:


Código PHP:
Ver original
  1. <?php  
  2. $ip = '199.168.187.73';
  3. $con = ssh2_connect($ip, 22);
  4. ssh2_auth_password($con, 'root','17361819');  
  5. $file_log = '/panel_data/clientes/" . $_POST['nickname'] . "/" . $_COOKIE['serverid'] . "/mods/deathmatch/logs/server.log';
  6. echo substr(sprintf('%o', fileperms($file_log)), -4);
  7.  
  8. $stream = ssh2_exec($con, 'cat '.$file_log);
  9. $resultado = stream_get_contents($stream);
  10.  
  11. echo '<textarea>'.$resultado.'</textarea>';
  12. ?>
  #8 (permalink)  
Antiguo 25/02/2013, 12:11
Avatar de gildus  
Fecha de Ingreso: agosto-2003
Mensajes: 1.495
Antigüedad: 20 años, 8 meses
Puntos: 105
Respuesta: Problema abrir archivo ssh2 y php

Hola @CeKiT, por favor cambia los datos de ingreso urgente y no postees datos verdaderos.

Me contactas por privado.

Saludos,
__________________
.: Gildus :.

Etiquetas: Ninguno
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 21:46.