Transferați fișiere folosind SFTP și cuști pe Debian și Ubuntu

!Bună prieteni! Astăzi vă aduc o alternativă la utilizarea unui server FTP pentru transfer sigur de fișiere. Deja colegul KZKG ^ Gaara a postat unul pe baza pachetului trusa de închisoare. Cel pe care îl vom dezvolta se bazează pe pachetele pe care le avem mai la îndemână în depozitul nostru.
Vom vedea:

  • Introduceți obligatoriu
  • Cum configurăm serverul Openssh?
  • Cum creăm utilizatori?
  • Cum modificăm directoarele de start pentru a funcționa cușca?

Introduceți obligatoriu
De multe ori avem nevoie de fișiere pentru a fi copiate de pe computerele la distanță pe aparatul nostru. Mulți m-au întrebat despre asta. Instalez un FTP? Cum instalez un SAMBA? Ei bine, să trecem de la simplu la complex. În primul rând, de ce să ne complicăm dacă avem OpenSSH-Server instalat?. Și dacă nu o avem, cu comanda simplă:

aptitude install openssh-server

Acum îl avem! Și apoi vom putea transfera fișiere în siguranță prin protocolul SFTP (Secure File Transfer Protocol), care utilizează SSH (Secure Shell) pentru criptare.

În mod implicit, utilizatorii cu permisiunea de a începe o sesiune la distanță prin utilizator ssh @ echipa mea, vor putea vedea aproape toate fișierele stocate în sistemul nostru, care ar putea să nu fie pe placul nostru sau că, din motive de securitate, nu ar trebui să le permitem.

Acest articol ne va ajuta să configurăm OpenSSH-Server astfel încât utilizatorii pe care îi dorim să fie limitați la directorul lor personal / acasă / utilizator. Clarificăm că, Cu această metodă, utilizatorii declarați nu vor putea începe o sesiune la distanță printr-o consolă ssh sau prin PuTTy. Aceștia vor putea transfera fișiere doar în sau din directorul lor personal de pe computerul sau serverul nostru.

Metoda descrisă aici este valabilă pentru versiunile Debian 5 (Lenny) sau superioare, și pentru versiunile Ubuntu 9.04 sau superioare. Versiunea pachetului SSH de Hardy sau Ubuntu 8.04 este foarte depășită și nu acceptă configurația pe care o vom descrie mai jos.

Cum configurăm serverul Openssh?
Ca utilizator rădăcină edităm fișierul / Etc / ssh / sshd_config cu orice editor de text simplu. Vă recomandăm să utilizați nano în modul consolă.

nano / etc / ssh / sshd_config

Vrem ca următoarea linie să fie prezentă:

Subsistem sftp

În Lenny și Squeeze există:

Subsistemul sftp / usr / lib / openssh / sftp-server

În cazul în care nu există, adăugăm la sfârșitul fișierului:

Subsistem sftp internal-sftp

Continuăm cu editarea fișierului sshd_config și adăugăm la final:

Match group group-sftp ChrootDirectory% h X11 Redirecționare nu AllowTcp Redirecționare nu ForceCommand internal-sftp

Salvăm modificările și repornim serviciul:

/etc/init.d/ssh reporniți

Cum creăm utilizatori?
Mai întâi creăm „grup»Că declarăm în sshd_config. Aveți grijă cu numele pe care l-am ales anterior, nu va fi că acesta există deja și este un grup aparținând Sistemului. Dacă nu dorim să restricționăm utilizatorii existenți în sistemul nostru, trebuie să creăm utilizatori noi, astfel încât să poată transfera fișiere. Pentru ca cușca să funcționeze, trebuie să-i facem și membri ai grupului în cauză.

addgroup sftp-group adduser user1 adduser user2 [----] usermod -G sftp-group user1 usermod -G sftp-group user2

Pentru a verifica crearea grupului și a utilizatorilor, putem face:

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

Și utilizatorii ar trebui să apară user1 y user2precum și grupurile grup-sftp și cele corespunzătoare utilizatorilor creați. De asemenea, la listarea directorului / Home, vor apărea directoarele de start ale fiecărui utilizator creat.

Cum modificăm directoarele de acasă pentru a face cușca să funcționeze eficient?
Trebuie să sporim securitatea folderelor personale ale fiecărui utilizator create astfel încât să nu poată crea foldere suplimentare în directorul lor personal și cu permisiunile de scriere acolo unde dorim (nu unde doresc)):

chown root: root / home / user1 / home / user2 chmod 755 / home / user1 / home / user2 cd / home / user1 mkdir documents html_public chown user1: user1 * cd / home / user2 mkdir documents html_public chown user2: user2 *

Utilizatori care aparțin grupului grup-sftp, de acum înainte vor putea să se conecteze numai cu numele și parolele lor prin SFTP și vor putea transfera fișiere către și din directoarele situate sub folderul lor personal și care au fost create de noi, dar nu vor putea vedea restul sistemul nostru de fișiere.

Pentru transferul de fișiere și foldere, putem folosi Nautilus, Konqueror, WinSCP, FileZilla și altele care acceptă protocolul SFTP. În cazul Konqueror, trebuie să folosim fish: // user @ remotecomputer.

Sperăm că acest articol ne va fi de folos practic!
Până la următoarea aventură, prieteni!

sftp_nautilus


Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: Miguel Ángel Gatón
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.

  1.   hexborg el a spus

    Bun articol. O modalitate foarte sigură de a partaja fișiere. Mulțumesc mult pentru explicație. 🙂

  2.   blitzkrieg el a spus

    Excelent

  3.   Lolo el a spus

    Și nu este mai confortabil să folosiți sshfs?

    Pentru echipa noastră, folderul la distanță ar apărea ca încă un folder cu aceleași caracteristici.

  4.   Jacobo hidalgo el a spus

    Bună ziua Federico, ca întotdeauna un articol excelent. Sunt foarte fericit că pot să citesc postările dvs. de pe Internet acum.
    O îmbrățișare
    Jako

    1.    dhunter el a spus

      Ce zici de Jacobo, niciun Federico nu este de acord direct. Hei, când te întorci, nu mai ubuntu, vopsești verde uman și deschide complet. O imbratisare. 😉

  5.   KZKG ^ Gaara el a spus

    Faceți contribuții excelente, continuați 😀

    1.    Federico el a spus

      Mulțumesc o mie de KZKG ^ Gaara și mulțumesc tuturor pentru feedback

  6.   jaenense el a spus

    Un utilizator poate fi plasat în cușcă într-un alt folder decât / home / user / ... ..?

    Ceea ce vreau să fac este să creez un utilizator în dosarul / media / hdd / ...
    Trebuie să fac acest lucru, deoarece serverul este un Raspberry Pi cu Raspbian și are folderul / home / ... / de pe un card SD, care s-ar umple în cel mai scurt timp.

    Am încercat-o în mai multe moduri, iar rezultatul în client este întotdeauna „Broken pipe”, iar rezultatul în server fatal: proprietate greșită sau moduri pentru componenta directorului chroot «/ media / HDD /»

    Vă mulțumesc foarte mult pentru toate

    1.    Federico el a spus

      Cred că va trebui să spuneți sistemului că folderul de acasă al utilizatorului respectiv este / home / HDD, atâta timp cât acea partiție are un format nativ Linux, adică ext4; ext3; etc. De exemplu, dacă utilizatorul este jae - pe scurt - trebuie să executați așa ceva:

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

      A se vedea, de asemenea, omul usermod Noroc

  7.   irving hernandez el a spus

    Am o problemă sau am un serviciu în Amazon cu un prieten public și trebuie să intru prin sftp pentru a plasa sau elimina fișiere.
    Am mai făcut-o și totul este în regulă, dar astăzi mi-a făcut ceva care nu mi se întâmplase
    În interiorul ami există o serie de foldere și unul dintre ele este un portal de internet captiv (pagina pentru utilizatorii mei). Se pare că acolo fac promoții și publicitate pentru utilizatorii mei și fac în mod constant modificări și le încarc prin sftp (cu winscp). permisiuni root și root pass
    Am dat chmod 777 pentru permisiunile de scriere și totul a mers bine
    dar astăzi, când actualizez webul și încărcăm index.html și celelalte fișiere ale acestuia, mi-a dat numele, dar nu mi-a lăsat octeți, adică zero (gol), acum nu vedeți nimic pe web
    Am închis sesiunea și am intrat din nou, am dat din nou permisiuni, schimb utilizator, actualizez, încerc să pun alte fișiere, să generez altele noi și întotdeauna face același lucru
    îmi dă fișierele, dar nu au date
    Ma poate ajuta cineva ???
    Aș aprecia foarte mult răspunsurile tale
    în primul rând, mulțumesc
    Atte
    domnule Irving Hernandez

  8.   FCC el a spus

    Bună ziua cum să folosesc filezilla, l-am văzut deja în mai multe moduri și încă nu mă pot conecta.
    E greșit.

  9.   Pedro el a spus

    Buna ziua,

    Efectuați procedura și cușca funcționează perfect, cu toate acestea, atunci când încercați să scrieți pe folderul «documente» sau «html_publico», acesta îmi dă acces refuzat. Are permisiunile menționate și nimic nu o permite.

    drwxr-xr-x. 2 utilizator 1 utilizator1 4096 11 mar 13:16 doc
    drwxr-xr-x. 2 user2 user2 4096 11 mar 13:16 html_publico

    Rezultatul este accesul refuzat atunci când încercați să scrieți în orice folder. Cu toate acestea, efectuarea unui get o permite.

    Sper că mă puteți ajuta cât mai curând posibil.

    Salutări.