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 typeNo compatible key exchange algorithms found
ouUnable 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: