Base di conoscenze

1 000 FAQ, 500 tutorial e video esplicativi. Qui ci sono delle soluzioni!

Utilizzare SSH in PHP con phpseclib

Questa guida spiega come lavorare senza il modulo PECL SSH2 client non disponibile sugli hosting Web e Server Cloud Infomaniak, utilizzando invece la libreria phpseclib, che funziona in PHP nativo senza richiedere estensioni specifiche.

 

Premessa

  • L'utilizzo di PECL SSH2 client provoca errori di tipo No compatible key exchange algorithms found o Unable to exchange encryption keys nell'ultima versione disponibile.
  • Phpseclib permette:
    • L'autenticazione SSH tramite password o chiave privata.
    • L'esecuzione di comandi remoti.
    • Il trasferimento di file sicuri (SFTP).
    • La gestione delle chiavi SSH.

 

Utilizzare phpseclib

Per integrare una connessione SSH in uno script PHP, utilizzare phpseclib come segue:

use phpseclib3\Net\SSH2;
use phpseclib3\Crypt\PublicKeyLoader;

$ssh = new SSH2('domain.xyz');
$key = PublicKeyLoader::load(file_get_contents('/path/to/private_key'));

if (!$ssh->login('utilisateur', $key)) {
    exit('Authentication Failed');
}

echo $ssh->exec('ls -la');

Questa FAQ è stata utile?