SFTP: SSH File Transfer Protocol
Attenzione. Questa guida è da considerarsi abbandonata, per via del tempo trascorso dall'ultima verifica.
Potrà essere resa obsoleta, previa segnalazione sul forum, se nessuno si propone per l'adozione. |
Versioni Compatibili Debian 7 "wheezy" Debian 8 "jessie" |
|
Introduzione
Dalla pagina di wikipedia:
In telecomunicazioni e informatica l'SSH File Transfer Protocol o SFTP è un protocollo di rete che prevede il trasferimento dei dati e funzionalità di manipolazione. È tipicamente usato con il protocollo SSH-2 che utilizza un trasferimento dei file sicuro, anche se è utilizzabile con un qualsiasi altro protocollo.
Semplificando si può quindi dire che sftp è come il protocollo ftp, ma con la differenza che autenticazione e trasferimento dati non avvengono in chiaro.
OpenSSH server
Installazione
Per avere a disposizione un server sftp è sufficiente installare openssh-server
:
# aptitude install openssh-server
Configurazione
È molto semplice, si tratta di aggiungere poche direttive al file di configurazione /etc/ssh/sshd_config
.
La prima dovrebbe essere già presente, si tratta di:
Subsystem sftp /usr/lib/openssh/sftp-server
Le altre, aggiungibili in coda al file di configurazione sono:
Match <Group|User> <nome_utente|nome_gruppo> ChrootDirectory /directory/voluta AllowTCPForwarding no X11Forwarding no ForceCommand /usr/lib/openssh/sftp-server
Supponendo ad esempio di voler garantire a tutti gli utenti l'accesso alle loro cartelle personali si potrebbe inserire quanto segue:
Match Group users ChrootDirectory /home AllowTCPForwarding no X11Forwarding no ForceCommand /usr/lib/openssh/sftp-server
Nel caso poi si desiderasse impedire ai singoli utenti di vedere le cartelle personali degli altri utenti sarebbe sufficiente impostare i loro permessi a 750.
Client
Esistono innumerevoli client in circolazione, quindi sta al gusto dell'utente scegliere quale usare. A titolo d'esempio si citano sftp
e Filezilla. Il primo è uno strumento a riga di comando ed è già incluso con il pacchetto openssh-client
, mentre il secondo è uno strumento ricco di funzionalità, adatto per diversi protocolli e dotato di interfaccia grafica.