Connessione SSH con PHP

Mattepuffo's logo
Connessione SSH con PHP

Connessione SSH con PHP

PHP dispone della llibreria ssh2_sftp per poter connettersi a server SFTP.

Dalla documentazione sembra sia inclusa di default, ma sulla mia Debian 9 ho dovuto installare un pacchetto apposito e riavviare il servizio:

# aptitude install php-ssh2

Fatto questo, ecco un esempio di connessione:

try {
    $conn = ssh2_connect('SERVER', 22);
    ssh2_auth_password($conn, 'USERNAME', 'PASSWORD');
    $sftp = ssh2_sftp($conn);

    $sftpFd = intval($sftp);
    $handle = opendir("ssh2.sftp://$sftpFd/home/UTENTE/");
    while (false != ($entry = readdir($handle))){
        echo "$entry<br>";
    }

    ssh2_disconnect($conn);
} catch (Exception $ex) {
    echo $ex->getMessage();
}

Qui ci connettiamo e poi iteriamo tutti i files nella home dell'utente.

Ovviamente, potete eseguire tutte le operazioni come download, upload, creare directory, ecc.

Anche se, a prima vista, non mi sembra che libreria sia proprio completa di tutto; e basta vedere l'esempio.

Enjoy!

 


Condividi

1 Commenti

  • Massimo Gorla

    Grazie, ben fatto. Questo post risolve un problema che ho trovato cercando di fare upload di file da server con PHP a Windows Server 2019 con OpenSSH.

    04/01/2021

Commentami!