Base de conocimientos
1 000 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, que no está disponible en los servicios de alojamiento web y servidores en la nube de Infomaniak, utilizando en su lugar la biblioteca phpseclib, que funciona con PHP nativo sin necesidad de una extensión específica.
Introducción
- El uso de
PECL SSH2 clientprovoca errores de tipoNo se encontraron algoritmos de intercambio de claves compatiblesoNo se pudieron intercambiar las claves de cifradoen su última versión disponible. Phpseclibpermite:- La autenticación SSH mediante contraseña o clave privada.
- La ejecución de comandos remotos.
- La transferencia de archivos seguros (SFTP).
- La gestión de claves SSH.
Utilizar phpseclib
Para integrar una conexión SSH en un script PHP, utilice 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('usuario', $key)) {
exit('Autenticación fallida');
}
echo $ssh->exec('ls -la');Enlace a esta FAQ: https://faq.infomaniak.com/767
¿Le ha sido útil esta FAQ?