Connessione SSH con PHP e phpseclib
PHP ha già delle funzioni per la connessione SSH.
La libreria phpseclib, però, è un pò più facile da usare; anche se la documentazione non è molto chiara.
In quanto il link rimanda alla versione 1, e non ci sono istruzioni sull'installazione della versione 2.
Ad un certo punto, la documentazione richiede a quale versione sei interessato, e ti rimanda a quella.
Io, comunque, ho installato tutto tramite Composer, ed ho installato la versione 2, usando PHP 7.2:
$ composer require phpseclib/phpseclib
Non ho avuto problemi.
Qui sotto un esempio di script che esegue alcune operazioni base:
<?php
require __DIR__ . '/vendor/autoload.php';
use phpseclibNetSFTP;
$sftp = new SFTP('web.compagniaitaliana.it');
if (!$sftp->login('webserver', '@adminWs')) {
exit('Login Failed');
}
echo 'Mi trovo in: ' . $sftp->pwd() . '<br>';
$sftp->chdir('OracleInstant');
echo 'Adesso mi trovo in: ' . $sftp->pwd() . '<br>';
echo 'Visualizzo i file e la loro dimensione<br>';
foreach ($sftp->nlist() as $file) {
echo $file . ', size: ' . $sftp->size($file) . '<br>';
}
Enjoy!
php phpseclib ssh sftp
Commentami!