Upload con SSH in PHP e phpseclib
phpseclib è una libreria per PHP per la connessione ad un server con SSH.
In questo articolo vediamo come usarla per l'upload di un file tramite SFTP.
Potete installarla tramite composer o scaricando il file zip.
Una volta fatto, vediamo un codice di esempio:
include_once './lib/Net_SSH2/Net/SFTP.php';
include_once './lib/Net_SSH2/Crypt/Base.php';
include_once './lib/Net_SSH2/Crypt/Random.php';
include_once './lib/Net_SSH2/Crypt/Hash.php';
include_once './lib/Net_SSH2/Crypt/RC4.php';
include_once './lib/Net_SSH2/Crypt/Rijndael.php';
include_once './lib/Net_SSH2/Crypt/Twofish.php';
include_once './lib/Net_SSH2/Crypt/Blowfish.php';
include_once './lib/Net_SSH2/Crypt/TripleDES.php';
include_once './lib/Net_SSH2/Math/BigInteger.php';
$server = '';
$username = '';
$password = '';
$ssh = new Net_SFTP($server);
if (!$ssh->login($username, $password)) {
exit('Login Failed');
}
echo $ssh->pwd();
echo '<br>';
$ssh->chdir("TEMP\ordini");
echo $ssh->pwd();
$ssh->put('risorse', 'risorse');
echo '<br>';
$listFiles = $ssh->nlist($ssh->pwd());
foreach ($listFiles as $file) {
echo $file . '<br>';
}
ATTENZIONE!
Questo codice si riferisce ad una versione più vecchia rispetto a quella attuale, in quanto sto usando una versione più vecchia di PHP.
Il codice, rispetto alle versioni più recenti, cambia di poco.
Appena ho tempo creerò un articolo con la versione più aggiornata!
Enjoy!
php seclib net_sftp net_ssh2 ssh sftp
1 Commenti
Ciao, mi sa che nel codice hai lasciato utenza e password funzionanti di un server pubblico.
26/02/2023