SFTP: SSH File Transfer Protocol
|
Versioni Compatibili Debian 8 "jessie" Debian 9 "stretch" Debian 10 "buster" |
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.
Server
OpenSSH
Installazione
Per avere a disposizione un server SFTP è sufficiente installare openssh-server
con privilegi di amministrazione:
# apt-get install openssh-server
Configurazione
È molto semplice, e avviene modificando il file di configurazione /etc/ssh/sshd_config
con un editor di testo, per esempio nano:
# nano /etc/ssh/sshd_config
È necessario accertarsi che sia presente la riga:
Subsystem sftp /usr/lib/openssh/sftp-server
che non deve essere commentata (ossia senza carattere "#" iniziale).
Inoltre, dopo ogni modifica, è necessario riavviare il server, per renderla effettiva:
# service ssh restart
Sicurezza
Per rendere l'esecuzione ancora più sicura, ci sono altre opzioni utili facoltative che si possono aggiungere (a /etc/ssh/sshd_config
):
Match <Group|User> <nome_gruppo|nome_utente> ChrootDirectory /directory/voluta AllowTCPForwarding no X11Forwarding no ForceCommand /usr/lib/openssh/sftp-server
Supponendo ad esempio di voler restringere l'accesso a tutti gli utenti appartenenti al gruppo users alle loro cartelle personali, permettendo loro soltanto l'esecuzione di SFTP ma non l'avvio di una shell, 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 assegnare le loro home al gruppo users e impostarne i 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.
sftp
Strumento a riga di comando è direttamente incluso con il pacchetto openssh-client
.
Filezilla
Strumento ricco di funzionalità, adatto per diversi protocolli e dotato di interfaccia grafica.
Installazione:
# apt-get install filezilla
Tra le varie caratteristiche si cita anche il supporto per l'autenticazione tramite chiave pubblica.
Approfondimenti
Manpages
- Per openssh server si veda quanto scritto nella pagina ad esso dedicata di questo wiki.
man sftp
Sitografia
Guida scritta da: Wtf 20:44, 6 ott 2015 (CEST) | Debianized 40% |
Estesa da: | |
Verificata da:
| |
Verificare ed estendere la guida | Cos'è una guida Debianized |