Wissensdatenbank
1000 FAQ, 500 Anleitungen und Lernvideos. Hier gibt es nur Lösungen!
SSH mit PHP und phpseclib verwenden
Dieser Leitfaden erklärt, wie man ohne das Modul PECL SSH2 client arbeitet, das auf den Webhostings und Cloud-Servern von Infomaniak nicht verfügbar ist, und stattdessen die Bibliothek phpseclib verwendet, die in nativem PHP funktioniert, ohne dass eine spezielle Erweiterung erforderlich ist.
Vorwort
- Die Verwendung von
PECL SSH2 clientführt zu Fehlern wieNo compatible key exchange algorithms foundoderUnable to exchange encryption keysin der letzten verfügbaren Version. Phpseclibermöglicht:- Die SSH-Authentifizierung per Passwort oder privatem Schlüssel.
- Die Ausführung von Remote-Befehlen.
- Den sicheren Dateitransfer (SFTP).
- Das Management von SSH-Schlüsseln.
phpseclib verwenden
Um eine SSH-Verbindung in ein PHP-Skript zu integrieren, verwenden Sie phpseclib wie folgt:
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');
Link zu dieser FAQ: