Wissensdatenbank

1 000 FAQs, 500 Anleitungen und erläuternde Videos. 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 client führt zu Fehlern wie No compatible key exchange algorithms found oder Unable 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 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');

War diese FAQ nützlich?