Wissensdatenbank
1000 FAQ, 500 Anleitungen und Lernvideos. Hier gibt es nur Lösungen!
SSH in PHP mit phpseclib verwenden
Dieser Leitfaden erklärt, wie man ohne das Modul PECL SSH2 client
, das auf den Webhostings und Cloud-Servern von Infomaniak nicht verfügbar ist, arbeitet, indem man stattdessen die Bibliothek phpseclib
verwendet, die in nativem PHP funktioniert und keine spezielle Erweiterung erfordert.
Vorwort
- Die Verwendung von
PECL SSH2 client
führt zu Fehlern wieNo compatible key exchange algorithms found
oderUnable to exchange encryption keys
in der letzten verfügbaren Version. Phpseclib
ermöglicht:- Die SSH-Authentifizierung per Passwort oder privatem Schlüssel.
- Die Ausführung von Fernbefehlen.
- 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: