SFTP: SSH File Transfer Protocol: differenze tra le versioni

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
m (verificata)
 
(2 versioni intermedie di 2 utenti non mostrate)
Riga 1: Riga 1:
{{Versioni compatibili | Wheezy | Jessie}}{{SSH}}
{{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 sftp è come il protocollo ftp, ma con la differenza che autenticazione e trasferimento dati non avvengono in chiaro.
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>


Per avere a disposizione un server sftp è sufficiente installare <code>openssh-server</code>:
==== Configurazione ====
<pre># aptitude install openssh-server</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).


{{Box|Wheezy e <code>openssh-sftp-server</code>|Questo pacchetto non viene installato automaticamente in wheezy poiché disponibile solo in <code>wheezy-backports</code>. L'utente quindi NON deve installare il suddetto pacchetto se non intende aggiornare alla versione dei backports anche i pacchetti <code>openssh-client</code> e <code>openssh-server</code>.}}
Inoltre, dopo ogni modifica, è necessario riavviare il server, per renderla effettiva:
 
<pre>
==== Configurazione ====
# service ssh restart
</pre>


È molto semplice, si tratta di aggiungere poche direttive al file di configurazione <code>/etc/ssh/sshd_config</code>.<br/>
===== Sicurezza =====
La prima dovrebbe essere già presente, si tratta di:
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>Subsystem sftp /usr/lib/openssh/sftp-server</pre>
Le altre, aggiungibili in coda al file di configurazione sono:
<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 garantire a tutti gli utenti l'accesso alle loro cartelle personali si potrebbe inserire quanto segue:
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 impostare i loro permessi a '''750'''.
 
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># aptitude 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=0
:[[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

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) Swirl-auth40.png Debianized 40%
Estesa da:
Verificata da:
HAL 9000 15:49, 22 set 2019 (CEST)

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