Base de conocimientos
1000 FAQ, 500 tutoriales y vídeos explicativos. ¡Aquí sólo hay soluciones!
Usar SSH en PHP con phpseclib
Esta guía explica cómo trabajar sin el módulo PECL SSH2 client
no disponible en los alojamientos web y servidores cloud Infomaniak, utilizando en su lugar la biblioteca phpseclib
, que funciona en PHP nativo sin requerir ninguna extensión específica.
Prólogo
- El uso de
PECL SSH2 client
provoca errores comoNo compatible key exchange algorithms found
oUnable to exchange encryption keys
en su última versión disponible. Phpseclib
permite:- La autenticación SSH por contraseña o clave privada.
- La ejecución de comandos remotos.
- La transferencia de archivos seguros (SFTP).
- La gestión de las claves SSH.
Usar phpseclib
Para integrar una conexión SSH en un script PHP, use phpseclib
de la siguiente manera:
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');
Enlace a esta FAQ: