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 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 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: