Kako omogućiti i konfigurirati SFTP na CentOS -u 7

U mnogim slučajevima moramo prenositi više informacija između uređaja, a najčešći način za to, koji traje već više od 20 godina, je korištenje FTP protokola (File Transfer Protocol) i FTP koji omogućuje prijenos između povezanih računala. TCP uzimajući u obzir klijent / poslužitelj.

S FTP -om koristimo priključke 20 i 21. Sada imamo novi unaprijed definirani protokol nazvan SFTP u kojem smatramo da je omogućen na svim poslužiteljima koji podržavaju SSH.

SFTP (SSH protokol prijenosa datoteka) razlikuje se od vrste FTP -a, iako podržava sve FTP klijente koje danas nalazimo. Iako je SFTP implementiran za dodavanje sloja sigurnosti, on predstavlja ranjivost na razini pristupa jer, kao standard, korisnicima sustava dopušta potpuni pristup za prijenos datoteka i korištenje ljuske.

Danas će Solvetic naučiti kako konfigurirati CentOS 7 kako bi spriječio određene korisnike da imaju SSH pristup sa slobodom u rukovanju sustavom putem SFTP0 protokola.

1. Kreiranje korisnika


Prvo ćemo stvoriti korisnika koji će imati pristup ograničen SSH -om, u ovom slučaju nazvat ćemo ga pristupom, izvršavamo sljedeće:
 sudo adduser pristup
Zatim dodjeljujemo lozinku novom korisniku izvršavajući sljedeće:
 sudo pristup lozinkom

2. Stvaranje direktorija za prijenos datoteka


Nakon što se kreira naš korisnik, sljedeći korak je stvaranje direktorija u kojem će SFTP djelovati, sprječavajući pristup, a to mora biti konfigurirano s određenim parametrima.

Izradit ćemo direktorij pod nazivom / var / sftp / uploads u kojem je dio / var / sftp, root korisnik bit će njegov vlasnik i nijedan drugi korisnik neće imati aktivna dopuštenja, a u poddirektoriju / var / sftp / uploads vlasnik će biti pristup novom korisniku. Direktorij stvaramo sljedećim retkom:

 sudo mkdir -p / var / sftp / uploads
Zatim uspostavljamo root korisnika kao vlasnika u navedenom direktoriju:
 sudo chown korijen: root / var / sftp
Dopuštamo pisanje root korisniku i čitamo ostalim korisnicima na navedenoj stazi:
 sudo chmod 755 / var / sftp

Sada mijenjamo vlasnika učitavanja tako da je to pristup korisnika, izvršavamo sljedeće:

 sudo chown pristup: access / var / sftp / uploads

3. Ograničavanje pristupa direktoriju


U ovom koraku ćemo vidjeti kako ograničiti pristup terminala na pristup korisnika, ali hoće li biti moguće prenijeti datoteke. Za to moramo urediti SSH poslužitelj s željenim uređivačem, vim ili nano, na sljedeći način:
 sudo nano / etc / ssh / sshd_config
Vidjet ćemo sljedeće:

U završni dio datoteke dodajemo sljedeće:

 Podudaranje pristupa korisnika ForceCommand internal-sftp PasswordAuthentication da ChrootDirectory / var / sftp PermitTunnel ne AllowAgentForwarding ne AllowTcpPosljeđivanje ne X11Posljeđivanje ne 

Promjene spremamo kombinacijom tipki Ctrl + O i izlazimo iz uređivača pomoću tipki Ctrl + X. Korištena sintaksa podrazumijeva sljedeće:

Podudaranje korisnikaRecite SSH poslužitelju da primijeni promjene na tamo navedenog korisnika.

ForceCommand internal-sftpPrisiljava SSH poslužitelj da pokrene SFTP kako bi spriječio pristup ljusci.

Potvrda lozinke daOmogući provjeru autentičnosti lozinkom

ChrootDirectory / var / sftp /Odnosi se na činjenicu da naznačeni korisnik neće imati pristup izvan / var / sftp putanje.

AllowAgentForwarding ne, AllowTcpForwarding br. i X11Prosiranje nijeOve opcije onemogućuju prosljeđivanje portova, tuneliranje i prosljeđivanje protokola X11 za navedenog korisnika.

Nakon što spremimo datoteku, izvršit ćemo sljedeću naredbu za primjenu promjena u SSH -u:

 sudo systemctl ponovno pokrenite sshd

4. Provjera SSH veze

Korak 1
Kad je ovo konfigurirano, bit će vrijeme za provjeru pristupa putem SSH -a i provjeru da li će biti moguć samo prijenos datoteka. Za to idemo na vezu putem SSH -a koja će u ovom slučaju biti.

 ssh [email protected]
Nakon što unesemo pristupne vjerodajnice, vidjet ćemo sljedeću poruku:

Korak 2
Time smo potvrdili da će se veza zatvoriti putem SSH -a. Sada ćemo pokušati uspostaviti vezu pomoću sftp protokola:

 sftp [email protected]
Unosom lozinke vidjet ćemo da je veza uspješna i moći ćemo prenositi datoteke:

Korak 3
Tamo možemo upotrijebiti naredbu ls za popis dostupnih direktorija i vidjet ćemo mapu za prijenos koju smo stvorili:

Korak 4
Tamo možemo premjestiti informacije, ali ako se pokušamo vratiti u direktorij gore pomoću cd -a … nećemo dobiti pogrešku, ali vidimo da nijedan direktorij ne može biti naveden:

Tako je jednostavno da možemo ograničiti pristup zahvaljujući sftp -u.

wave wave wave wave wave