Benutzer-Werkzeuge

Webseiten-Werkzeuge


php:sftp_private_key

SFTP mit OPENSSH PRIVATE KEY-Authentifizierung

Hinweis: Die id_rsa muss mit der folgenden Zeile beginnen:

-----BEGIN OPENSSH PRIVATE KEY-----

Beispiel: Dateiübertragung per SFTP

<?php
 
require "vendor/autoload.php";
 
use phpseclib\Crypt\RSA;
use phpseclib\Net\SFTP;
 
$host       = '';
$port       = 22;
$username   = '';
$filename   = 'id_rsa';
 
$sftp = new SFTP( $host, $port );
 
$privateKey = new RSA();
$privateKey->loadKey( file_get_contents( $filename ) );
 
if( !$sftp->login( $username, $privateKey ) )
{
    throw new Exception( 'sFTP login failed' );
}
 
$sftp->chdir( 'www' );
$sftp->put( 'newfile.txt', 'new file content' );
$sftp->disconnect();
?>

Die wichtigsten SFTP-Funktionen

Funktionsbeschreibung Funktionsaufruf
Einloggen $sftp→login( $username, $privateKey );
Liste der verfügbaren Dateien und Verzeichnisse abholen $sftp→nList();
Verzeichnis wechseln $sftp→chdir( $directory );
lokale Datei auf den Server hochladen $sftp→put( $remoteFilename, $localFilename, SFTP::SOURCE_LOCAL_FILE );
Datei auf den Server umbenennen $sftp→rename( $oldname, $newname );
neue Datei auf den Server anlegen $sftp→put( 'newfile.txt', 'new file content' );
Datei vom Server herunterladen $sftp→get( $remoteFilename, $lcoalFilename );
Verbindung zum Server schließen $sftp→disconnect();
php/sftp_private_key.txt · Zuletzt geändert: 2022/04/28 10:01 von webproducer