SFTP: SSH File Transfer Protocol: differenze tra le versioni
m (apt-get al posto di aptitude) |
m (verificata) |
||
(Una versione intermedia di un altro utente non mostrate) | |||
Riga 1: | Riga 1: | ||
{{ | {{SSH | ||
|precedente=OpenSSH | |||
|successivo=SSHFS: montare una risorsa remota sfruttando FUSE ed SSH | |||
}}{{Versioni compatibili|Jessie|Stretch|Buster}} | |||
== Introduzione == | == Introduzione == | ||
Dalla pagina di [https://it.wikipedia.org/wiki/SSH_File_Transfer_Protocol wikipedia]: | Dalla pagina di [https://it.wikipedia.org/wiki/SSH_File_Transfer_Protocol wikipedia]: | ||
<blockquote> | <blockquote> | ||
Riga 8: | Riga 9: | ||
</blockquote> | </blockquote> | ||
Semplificando si può quindi dire che | 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 == | == Server == | ||
=== OpenSSH === | === OpenSSH === | ||
==== Installazione ==== | ==== Installazione ==== | ||
Per avere a disposizione un server '''SFTP''' è sufficiente installare <code>openssh-server</code> con [[privilegi di amministrazione]]: | |||
<pre> | |||
# apt-get install openssh-server | |||
</pre> | |||
==== Configurazione ==== | |||
<pre># | È molto semplice, e avviene modificando il file di configurazione <code>/etc/ssh/sshd_config</code> con un editor di testo, per esempio [[nano]]: | ||
<pre> | |||
# nano /etc/ssh/sshd_config | |||
</pre> | |||
È necessario accertarsi che sia presente la riga: | |||
<pre> | |||
Subsystem sftp /usr/lib/openssh/sftp-server | |||
</pre> | |||
che non deve essere commentata (ossia senza carattere "#" iniziale). | |||
Inoltre, dopo ogni modifica, è necessario riavviare il server, per renderla effettiva: | |||
<pre> | |||
# service ssh restart | |||
</pre> | |||
===== Sicurezza ===== | |||
Per rendere l'esecuzione ancora più sicura, ci sono altre opzioni utili facoltative che si possono aggiungere (a <code>/etc/ssh/sshd_config</code>): | |||
<pre> | <pre> | ||
Match <Group|User> <nome_gruppo|nome_utente> | Match <Group|User> <nome_gruppo|nome_utente> | ||
Riga 34: | Riga 44: | ||
ForceCommand /usr/lib/openssh/sftp-server | ForceCommand /usr/lib/openssh/sftp-server | ||
</pre> | </pre> | ||
Supponendo ad esempio di voler | 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: | ||
<pre> | <pre> | ||
Match Group users | Match Group users | ||
Riga 42: | Riga 52: | ||
ForceCommand /usr/lib/openssh/sftp-server | ForceCommand /usr/lib/openssh/sftp-server | ||
</pre> | </pre> | ||
Nel caso poi si desiderasse impedire ai singoli utenti di vedere le cartelle personali degli altri utenti sarebbe sufficiente | |||
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 [[Filesystem:_i_permessi_sui_files|impostarne i permessi]] a '''750'''. | |||
== Client == | == Client == | ||
Esistono innumerevoli client in circolazione, quindi sta al gusto dell'utente scegliere quale usare. A titolo d'esempio si citano <code>sftp</code> e [https://filezilla-project.org/ Filezilla]. | Esistono innumerevoli client in circolazione, quindi sta al gusto dell'utente scegliere quale usare. A titolo d'esempio si citano <code>sftp</code> e [https://filezilla-project.org/ Filezilla]. | ||
=== sftp === | === sftp === | ||
Strumento a riga di comando è direttamente incluso con il pacchetto <code>openssh-client</code>. | Strumento a riga di comando è direttamente incluso con il pacchetto <code>openssh-client</code>. | ||
=== Filezilla === | === Filezilla === | ||
Strumento ricco di funzionalità, adatto per diversi protocolli e dotato di interfaccia grafica.<br/> | Strumento ricco di funzionalità, adatto per diversi protocolli e dotato di interfaccia grafica.<br/> | ||
Installazione: | Installazione: | ||
<pre> | |||
<pre># apt-get install filezilla</pre> | # apt-get install filezilla | ||
</pre> | |||
Tra le varie caratteristiche si cita anche il supporto per l'autenticazione tramite chiave pubblica. | Tra le varie caratteristiche si cita anche il supporto per l'autenticazione tramite chiave pubblica. | ||
== Approfondimenti == | == Approfondimenti == | ||
=== Manpages === | === Manpages === | ||
* Per openssh server si veda quanto scritto nella pagina ad esso dedicata di questo wiki. | * Per openssh server si veda quanto scritto nella pagina ad esso dedicata di questo wiki. | ||
* <code>man sftp</code> | * <code>man sftp</code> | ||
=== Sitografia === | === Sitografia === | ||
* [https://www.howtoforge.com/chrooted-ssh-sftp-tutorial-debian-lenny chrooted-ssh-sftp-tutorial-debian-lenny] | * [https://www.howtoforge.com/chrooted-ssh-sftp-tutorial-debian-lenny chrooted-ssh-sftp-tutorial-debian-lenny] | ||
* [https://filezilla-project.org/ Filezilla] | * [https://filezilla-project.org/ Filezilla] | ||
Riga 77: | Riga 82: | ||
|Estesa_da = | |Estesa_da = | ||
|Verificata_da= | |Verificata_da= | ||
|Numero_revisori= | :[[Utente:HAL 9000|HAL 9000]] 15:49, 22 set 2019 (CEST) | ||
|Numero_revisori=1 | |||
}} | }} | ||
[[Categoria:SSH_server_e_amministrazione_remota]][[Categoria:FTP server]] | [[Categoria:SSH_server_e_amministrazione_remota]][[Categoria:FTP server]] |
Versione attuale delle 13:49, 22 set 2019
|
![]() 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) | ![]() |
Estesa da: | |
Verificata da:
| |
Verificare ed estendere la guida | Cos'è una guida Debianized |