SFTP: SSH File Transfer Protocol: differenze tra le versioni

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
m (verificata)
 
(8 versioni intermedie di 3 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.


== OpenSSH server ==
== Server ==
=== OpenSSH ===
==== 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>


=== Installazione ===
==== Configurazione ====
È 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).


Per avere a disposizione un server sftp è sufficiente installare <code>openssh-server</code>:
Inoltre, dopo ogni modifica, è necessario riavviare il server, per renderla effettiva:
<pre># aptitude install openssh-server</pre>
<pre>
 
# service ssh restart
{{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>.}}
</pre>


=== Configurazione ===
===== 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>):
È molto semplice, si tratta di aggiungere poche direttive al file di configurazione <code>/etc/ssh/sshd_config</code>.<br/>
La prima dovrebbe essere già presente, si tratta di:
<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_utente|nome_gruppo>
Match <Group|User> <nome_gruppo|nome_utente>
ChrootDirectory /directory/voluta
ChrootDirectory /directory/voluta
AllowTCPForwarding no
AllowTCPForwarding no
Riga 32: 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 40: 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].
=== sftp ===
Strumento a riga di comando è direttamente incluso con il pacchetto <code>openssh-client</code>.
=== Filezilla ===
Strumento ricco di funzionalità, adatto per diversi protocolli e dotato di interfaccia grafica.<br/>
Installazione:
<pre>
# apt-get install filezilla
</pre>
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.
* <code>man sftp</code>
=== Sitografia ===
* [https://www.howtoforge.com/chrooted-ssh-sftp-tutorial-debian-lenny chrooted-ssh-sftp-tutorial-debian-lenny]
* [https://filezilla-project.org/ Filezilla]
{{Autori
|Autore = [[Utente:Wtf|Wtf]] 20:44, 6 ott 2015 (CEST)
|Estesa_da =
|Verificata_da=
:[[Utente:HAL 9000|HAL 9000]] 15:49, 22 set 2019 (CEST)
|Numero_revisori=1
}}


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]. Il primo è uno strumento a riga di comando ed è già incluso con il pacchetto <code>openssh-client</code>, mentre il secondo è uno strumento ricco di funzionalità, adatto per diversi protocolli e dotato di interfaccia grafica.
[[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