¿Estas atascado? ¡Yo te ayudo!, pregunta aquí.

Alternativa para conexion SSH2 desde php ( phpseclib )

Todo código relacionado exclusivamente con PHP, incluido la programación con symphony, etc...

Notapor alexiter » Dom May 12, 2019 10:23 am

Instalar phpseclib implica tener instalado composer, por eso empezaremos por la instalacion de composer:

Paso 1 - Instalando las Dependencias
Antes de descargar e instalar Composer, debemos asegurarnos de que nuestro servidor tenga todas las dependencias instaladas.

Primero, actualice el caché del administrador de paquetes ejecutando:
Código: Seleccionar todo
sudo apt-get update


Ahora, instalemos las dependencias. Necesitaremos curlpara descargar Composer y php5-clipara instalarlo y ejecutarlo. gites utilizado por Composer para descargar dependencias de proyectos. Todo se puede instalar con el siguiente comando:

Código: Seleccionar todo
sudo apt-get install curl php5-cli git


Ahora puedes pasar al siguiente paso.

Paso 2 - Descarga e instalación de Composer
La instalación de Composer es realmente simple y se puede hacer con un solo comando:

Código: Seleccionar todo
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer


Esto descargará e instalará Composer como un comando de todo el sistema llamado composer, bajo /usr/local/bin. La salida debería verse así:

Código: Seleccionar todo
Output
#!/usr/bin/env php
All settings correct for using Composer
Downloading...

Composer successfully installed to: /usr/local/bin/composer
Use it: php /usr/local/bin/composer


Para probar su instalación, ejecute:

Código: Seleccionar todo
composer


Y deberías obtener una salida similar a esta:

Código: Seleccionar todo
Output
   ______
  / ____/___  ____ ___  ____  ____  ________  _____
 / /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
                    /_/
Composer version 1.0-dev (9859859f1082d94e546aa75746867df127aa0d9e) 2015-08-17 14:57:00

Usage:
 command [options] [arguments]

Options:
 --help (-h)           Display this help message
 --quiet (-q)          Do not output any message
 --verbose (-v|vv|vvv) Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
 --version (-V)        Display this application version
 --ansi                Force ANSI output
 --no-ansi             Disable ANSI output
 --no-interaction (-n) Do not ask any interactive question
 --profile             Display timing and memory usage information
 --working-dir (-d)    If specified, use the given directory as working directory.

. . .


Esto significa que Composer se instaló correctamente en su sistema.

Paso 3 - Generando el archivo composer.json
Para utilizar Composer en tu proyecto, necesitarás un composer.jsonarchivo. El composer.jsonarchivo básicamente dice Compositor qué dependencias tiene que descargar para su proyecto y que se les permite ser instalado versiones de cada paquete. Esto es extremadamente importante para mantener su proyecto consistente y evitar instalar versiones inestables que podrían causar problemas de compatibilidad con versiones anteriores.

Empecemos creando un directorio para nuestro proyecto. Lo llamaremos composer y lo meteremos dentro del directorio html de nuestro servidor:

Código: Seleccionar todo
cd ~
mkdir composer
cd composer


Ahora instalamos el phpseclib:

Código: Seleccionar todo
composer require phpseclib/phpseclib:~2.0


Con esto ya tenemos instalado el phpseclib y ahora podremos llamarlo desde nuestro codigo de la siguiente manera:

Código: Seleccionar todo
<?php
require __DIR__ . '/vendor/autoload.php';

use phpseclib\Net\SSH2;

$ssh = new SSH2('www.domain.tld');
if (!$ssh->login('username', 'password')) {
    exit('Login Failed');
}

echo $ssh->exec('pwd');
echo $ssh->exec('ls -la');
?>
alexiter
Site Admin
 
Mensajes: 157
Registrado: Dom Nov 17, 2013 9:54 pm

Volver a PHP (symphony, etc...)

cron
  • Buscar mensajes nuevos
  • Buscar temas sin respuesta
  • ¿Quién está conectado?
  • Hay 3 Usuarios identificados :: 0 registrado, 0 ocultos y 3 invitados (basados en usuarios activos en los últimos 5 minutos)
  • La mayor cantidad de usuarios identificados fue 619 el Dom May 03, 2020 11:11 pm
  • Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 3 invitados