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 cliententraine des erreurs de typeNo compatible key exchange algorithms foundouUnable to exchange encryption keysdans sa derniere version disponible. Phpseclibpermet :- 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: