Base de connaissances

1 000 FAQ, 500 tutoriels et vidéos explicatives. Ici, il n'y a que des solutions !

Utiliser SSH en PHP avec phpseclib

Ce guide explique comment travailler sans le module PECL SSH2 client indisponible sur les hébergements Web et Serveurs Cloud Infomaniak, en utilisant plutôt la bibliothèque phpseclib, qui fonctionne en PHP natif sans nécessiter d’extension spécifique.

 

Préambule

  • L’utilisation de PECL SSH2 client entraine des erreurs de type No compatible key exchange algorithms found ou Unable to exchange encryption keys dans sa derniere version disponible.
  • Phpseclib permet :
    • L'authentification SSH par mot de passe ou clé privée.
    • L'exécution de commandes à distance.
    • Le transfert de fichiers sécurisés (SFTP).
    • La gestion des clés SSH.

 

Utiliser phpseclib

Pour intégrer une connexion SSH dans un script PHP, utilisez phpseclib comme suit :

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');

Lien vers cette FAQ:


Cette FAQ a été utile?