Trasferisci file usando SFTP e gabbie su Debian e Ubuntu

!Ciao amici! Oggi ti offro un'alternativa all'utilizzo di un server FTP per il trasferimento sicuro dei file. Già il collega KZKG ^ Gaara pubblicato uno in base al pacchetto jailkit. Quello che svilupperemo si basa sui pacchetti che abbiamo più a portata di mano nel nostro repository.
Vedremo:

  • Immettere richiesto
  • Come configuriamo il server Openssh?
  • Come creiamo gli utenti?
  • Come modifichiamo le home directory per far funzionare la gabbia?

Immettere richiesto
Spesso abbiamo bisogno di copiare file da computer remoti sulla nostra macchina. Molti me lo hanno chiesto. Installa un FTP? Come installo un SAMBA? Bene, passiamo dal semplice al complesso. Fin dall'inizio, perché complicarci se abbiamo il Server OpenSSH installato?. E se non ce l'abbiamo, con il semplice comando:

aptitude installa openssh-server

Ora ce l'abbiamo!, E poi saremo in grado di trasferire file in sicurezza tramite il protocollo SFTP (Secure File Transfer Protocol), che utilizza SSH (Secure Shell) per la crittografia.

Per impostazione predefinita, gli utenti autorizzati ad avviare una sessione remota tramite utente ssh @ il mio team, potranno vedere quasi tutti i file archiviati nel nostro sistema, il che potrebbe non essere di nostro gradimento o che per motivi di sicurezza non dovremmo consentirlo.

Questo articolo ci aiuterà a configurare il Server OpenSSH in modo che gli utenti desiderati siano limitati alla loro directory personale / home / utente. Chiariamo che, Con questo metodo, gli utenti dichiarati non saranno in grado di avviare una sessione remota tramite una console ssh o tramite PuTTy. Potranno solo trasferire file da o verso la loro directory personale sul nostro computer o server.

Il metodo qui descritto è valido per le versioni Debian 5 (Lenny) o successive e per le versioni di Ubuntu 9.04 o successive. La versione del pacchetto SSH di Hardy o Ubuntu 8.04 è in ritardo e non supporta la configurazione che descriveremo di seguito.

Come configuriamo il server Openssh?
Come utente radice modifichiamo il file /etc/ssh/sshd_config con qualsiasi semplice editor di testo. Si consiglia l'uso di nano in modalità console.

nano / etc / ssh / sshd_config

Vogliamo che sia presente la seguente riga:

Sottosistema sftp

In Lenny e Squeeze ci sono:

Sottosistema sftp / usr / lib / openssh / sftp-server

Nel caso in cui non esista, aggiungiamo alla fine del file:

Sottosistema sftp internal-sftp

Continuiamo con la modifica del file sshd_config e aggiungiamo alla fine:

Match group group-sftp ChrootDirectory% h X11Forwarding no AllowTcpForwarding no ForceCommand internal-sftp

Salviamo le modifiche e riavviamo il servizio:

/etc/init.d/ssh riavvio

Come creiamo gli utenti?
Per prima cosa creiamo il «gruppo»Che dichiariamo nel sshd_config. Attenzione al nome che abbiamo scelto in precedenza, non sarà che esiste già ed è un gruppo appartenente al Sistema. Se non vogliamo limitare gli utenti esistenti nel nostro sistema, dobbiamo creare nuovi utenti in modo che possano trasferire file. Perché la gabbia funzioni, dobbiamo anche fare loro, membri del gruppo in questione.

addgroup group-sftp adduser utente1 adduser utente2 [----] usermod -G group-sftp utente1 usermod -G group-sftp utente2

Per verificare la creazione del gruppo e degli utenti, possiamo fare:

meno / etc / password meno / etc / group ls -l / home

E dovrebbero apparire gli utenti user1 y user2così come i gruppi group-sftp e quelli corrispondenti agli utenti creati. Inoltre, quando si elenca la directory / Home, appariranno le home directory di ogni utente creato.

Come modifichiamo le home directory per far funzionare efficacemente la gabbia?
Dobbiamo aumentare la sicurezza delle cartelle personali di ogni utente creato in modo che non possano creare cartelle aggiuntive nella loro directory personale e con autorizzazioni di scrittura dove vogliamo (non dove vogliono) 🙂:

chown root: root / home / utente1 / home / utente2 chmod 755 / home / utente1 / home / utente2 cd / home / utente1 documenti mkdir html_public chown utente1: utente1 * cd / home / utente2 documenti mkdir html_public chown utente2: utente2 *

Utenti che appartengono al gruppo group-sftp, d'ora in poi potranno accedere con i loro nomi e password solo tramite SFTP, e potranno trasferire file da e verso le directory che si trovano sotto la loro cartella personale e che sono state create da noi, ma non lo saranno in grado di vedere il resto del nostro file system.

Per il trasferimento di file e cartelle, possiamo usare Nautilus, Konqueror, WinSCP, FileZilla e altri che supportano il protocollo SFTP. Nel caso di Konqueror, dobbiamo usare fish: // utente @ remotecomputer.

Speriamo che questo articolo ci sia di utilità pratica!
Alla prossima avventura, amici!

sftp_nautilus


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.

  1.   hexborg suddetto

    Buon articolo. Un modo molto sicuro per condividere file. Grazie mille per la spiegazione. 🙂

  2.   Guerra lampo suddetto

    Eccellente

  3.   Lolo suddetto

    E non è più comodo usare sshfs?

    Per il nostro team la cartella remota apparirà come un'altra cartella con le stesse caratteristiche.

  4.   Jacobo hidalgo suddetto

    Ciao Federico, come sempre ottimo articolo. Sono molto felice di poter leggere i tuoi post da Internet ora.
    Un abbraccio
    Come

    1.    cacciatore suddetto

      Che ne dici di Jacobo, no Federico non è d'accordo direttamente. Ehi, quando torni non più ubuntu, dipingi di verde umano e apri completamente. Un abbraccio. 😉

  5.   KZKG ^ Gaara suddetto

    Stai dando ottimi contributi, continua così 😀

    1.    federico suddetto

      Grazie mille KZKG ^ Gaara, e grazie a TUTTI per il vostro feedback

  6.   jaenense suddetto

    Un utente può essere ingabbiato in una cartella diversa da / home / user /… ..?

    Quello che voglio fare è ingabbiare un utente nella cartella / media / hdd / ...
    Devo farlo in questo modo poiché il server è un Raspberry Pi con Raspbian e ha la cartella / home / ... / su una scheda SD, che si riempirebbe in pochissimo tempo

    L'ho provato in diversi modi e il risultato nel client è sempre «tubo rotto», e il risultato in un server fatale: cattiva proprietà o modalità per il componente della directory chroot «/ media / HDD /»

    Grazie mille a tutti

    1.    federico suddetto

      Penso che dovrai dire al sistema che la cartella home di quell'utente è / home / HDD, purché quella partizione abbia un formato linux nativo, cioè ext4; ext3; eccetera. Esempio, se l'utente è jae, in breve, è necessario eseguire qualcosa del genere:

      : ~ # usermod –move-home –home / home / HDD jae

      Vedi anche l'uomo usermod. Saluti

  7.   Irving Hernandez suddetto

    Ho un problema o ho un servizio in amazon con un amico pubblico e devo entrare tramite sftp per inserire o rimuovere file.
    L'ho fatto prima e va tutto bene, ma oggi mi ha fatto qualcosa che non mi era successo
    All'interno dell'ami ci sono una serie di cartelle e una di queste è un captive internet portal (pagina per i miei utenti). Si scopre che lì faccio promozioni e pubblicità per i miei utenti e apporto costantemente modifiche e le carico tramite sftp (con winscp). permessi di root e il passaggio di root
    Ho dato chmod 777 per i permessi di scrittura e tutto era andato bene
    ma oggi durante l'aggiornamento del web e il caricamento dell'indice.html e degli altri file mi ha dato i nomi ma non mi ha lasciato nessun byte cioè zero (vuoto) ora non vedi nulla sul mio web
    Ho chiuso la sessione e sono rientrato, ho dato nuovamente i permessi, cambio utente, aggiorno, provo a mettere altri file, ne generi di nuovi e fa sempre lo stesso
    mi dà i file ma non hanno dati
    Qualcuno può aiutarmi ???
    Apprezzerei davvero le tue risposte
    prima di tutto, grazie
    Atte
    Sig. Irving Hernandez

  8.   FCC suddetto

    Ciao come usare filezilla, l'ho già visto in diversi modi e ancora non riesco a connettermi.
    È sbagliato.

  9.   pedro suddetto

    Buon pomeriggio

    Esegui la procedura e la gabbia funziona perfettamente, tuttavia quando provo a scrivere sulla cartella «documenti» o «html_publico» mi dà accesso negato. Ha le autorizzazioni menzionate e nulla che lo consenta.

    drwxr-xr-x. 2 utente1 utente1 4096 Mar 11 13:16 docs
    drwxr-xr-x. 2 user2 user2 4096 Mar 11 13:16 html_publico

    Il risultato è l'accesso negato quando si tenta di scrivere in qualsiasi cartella. Tuttavia, quando si esegue un get, lo consente.

    Spero che tu possa aiutarmi il prima possibile.

    Saluti.