Base di conoscenze

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

Utilizzare SSH in PHP con phpseclib

Aggiornamento 04/08/2026

Questa guida spiega come lavorare senza il modulo PECL SSH2 client, non disponibile sugli hosting web e sui server cloud di Infomaniak, utilizzando invece la libreria phpseclib, che funziona con PHP nativo senza richiedere estensioni specifiche.

 

Introduzione

  • L'utilizzo di PECL SSH2 client nella sua ultima versione disponibile causa errori di tipo Nessun algoritmo di scambio chiavi compatibile trovato o Impossibile scambiare le chiavi di crittografia.
  • 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 nel modo seguente:

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('utente', $key)) {
    exit('Autenticazione fallita');
}

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

Questa FAQ è stata utile?