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!
php ssh sftp ssh2_sftp ssh2_connect
1 Commenti
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