SFTP: SSH File Transfer Protocol

Versione del 22 set 2019 alle 13:49 di HAL 9000 (discussione | contributi) (verificata)
(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)
SSH
Arrow left.png

Guide correlate

Arrow right.png


Debian-swirl.png 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:
HAL 9000 15:49, 22 set 2019 (CEST)

Verificare ed estendere la guida | Cos'è una guida Debianized