Transfer Host PSFTP (Putty SFTP) Example
Cuprins:
- Crearea unui grup SFTP
- Adăugarea utilizatorilor la grupul SFTP
- Configurarea SSH
- Testarea configurației
- Concluzie
În acest tutorial, vă vom explica cum să configurați un mediu SFTP Chroot Jail care va restricționa utilizatorii la directorii lor de acasă. Utilizatorii vor avea acces numai SFTP, accesul SSH va fi dezactivat. Aceste instrucțiuni ar trebui să funcționeze pentru orice distribuție modernă Linux, inclusiv Ubuntu, CentOS, Debian și Fedora.
Crearea unui grup SFTP
În loc de a configura serverul OpenSSH pentru fiecare utilizator în parte, vom crea un grup nou și vom adăuga toți utilizatorii chrootiți la acest grup.
Rulați următoarea comandă
groupadd
pentru a crea grupul de utilizatori
sftponly
:
sudo groupadd sftponly
Puteți numi grupul așa cum doriți.
Adăugarea utilizatorilor la grupul SFTP
Următorul pas este să adăugați utilizatorii pe care doriți să-i restricționați la grupul
sftponly
.
Dacă aceasta este o configurare nouă și utilizatorul nu există, puteți crea un nou cont de utilizator tastând:
sudo useradd -g sftponly -s /bin/false -m -d /home/username username
- Opțiunea
-g sftponlyva adăuga utilizatorul în grupul sftponly. Opțiunea-s /bin/falsesetează shell-ul de conectare al utilizatorului. Prin setarea shell-ului de conectare la/bin/false, utilizatorul nu se va putea conecta la server prin SSH. Opțiunile-m -d /home/usernamene spun useradd să creeze directorul de acasă al utilizatorului.
Setați o parolă puternică pentru utilizatorul nou creat:
sudo passwd username
În caz contrar, dacă utilizatorul pe care doriți să îl restricționați există deja, adăugați-l în grupul
sftponly
și schimbați shell-ul utilizatorului:
sudo usermod -G sftponly -s /bin/false username2
Directorul de domiciliu al utilizatorului trebuie să fie deținut de root și să aibă permisiuni
755
:
sudo chown root: /home/username
sudo chmod 755 /home/username
Deoarece directoarele de domiciliu ale utilizatorilor sunt deținute de utilizatorul rădăcină, acești utilizatori nu vor putea crea fișiere și directoare în directoarele de acasă. Dacă nu există directoare în casa utilizatorului, va trebui să creați noi directoare la care utilizatorul să aibă acces complet. De exemplu, puteți crea următoarele directoare:
sudo mkdir /home/username/{public_html, uploads}
sudo chmod 755 /home/username/{public_html, uploads}
sudo chown username:sftponly /home/username/{public_html, uploads}
Dacă o aplicație web folosește directorul
public_html
al utilizatorului ca rădăcină de document, aceste modificări pot duce la probleme de autorizare. De exemplu, dacă executați WordPress, va trebui să creați un pool PHP care să fie difuzat ca utilizator care deține fișierele și să adăugați site-urile în
sftponly
grupul de
sftponly
.
Configurarea SSH
SFTP este un subsistem de SSH și acceptă toate mecanismele de autentificare SSH.
Deschideți fișierul de configurare SSH
/etc/ssh/sshd_config
cu editorul de text:
sudo nano /etc/ssh/sshd_config
Căutați linia care începe cu
Subsystem sftp
, de obicei la sfârșitul fișierului. Dacă linia începe cu un hash
#
eliminați hash
#
și modificați-o astfel încât să arate astfel:
Subsystem sftp internal-sftp
Spre sfârșitul fișierului, următorul bloc de setări:
Match Group sftponly ChrootDirectory %h ForceCommand internal-sftp AllowTcpForwarding no X11Forwarding no
Directiva
ChrootDirectory
specifică calea către directorul chroot.
%h
înseamnă directorul principal al utilizatorului. Acest director trebuie să fie deținut de utilizatorul rădăcină și nu poate fi scris de niciun alt utilizator sau grup.
Fii mai atent atunci când modifici fișierul de configurare SSH. Configurația incorectă poate determina pornirea serviciului SSH.
După ce ați terminat, salvați fișierul și reporniți serviciul SSH pentru a aplica modificările:
sudo systemctl restart ssh
În CentOS și Fedora, serviciul ssh este numit
sshd
:
Testarea configurației
După ce ați configurat chroot SFTP, puteți încerca să vă conectați la mașina de la distanță prin SFTP folosind datele de autentificare ale utilizatorului corelat. În cele mai multe cazuri, veți utiliza un client SFTP desktop, cum ar fi FileZilla, dar în acest exemplu, vom folosi comanda sftp.
Deschideți o conexiune SFTP folosind comanda sftp urmată de numele de utilizator al serverului de la distanță și adresa IP a serverului sau numele de domeniu:
sftp [email protected]
Vi se va solicita să introduceți parola utilizatorului. Odată conectat, serverul la distanță va afișa un mesaj de confirmare și promptul
sftp>
:
[email protected]'s password: sftp>
Rulați comanda
pwd
, așa cum se arată mai jos, și dacă totul funcționează așa cum este de așteptat, comanda ar trebui să revină
/
.
sftp> pwd Remote working directory: /
De asemenea, puteți enumera fișierele și directoarele la distanță folosind comanda
ls
și ar trebui să vedeți directoarele pe care le-am creat anterior:
Concluzie
În acest tutorial, ați învățat cum să configurați un mediu SFTP Chroot Jail pe serverul dvs. Linux și să restricționați accesul utilizatorilor la directorul lor de origine.
În mod implicit, SSH ascultă portul 22. Schimbarea portului SSH implicit adaugă un strat suplimentar de securitate serverului dvs. prin reducerea riscului de atacuri automatizate. De asemenea, poate doriți să configurați o autentificare bazată pe cheie SSH și să vă conectați la server fără a introduce o parolă.
securitate ssh sftpNppFTP Plugin FTP pentru Notepad ++: Permite FTP, FTPS, FTPES, SFTP partajare
Aflați cum să utilizați pluginul FTP NppFTP pe Notepad ++ și cum să stabiliți un FTP conectarea cu Notepad ++ și încărcarea directă a fișierelor
Cyberduck: FTP, SFTP, WebAv, Google Drive, Amazon S3, Backblaze B2, Azure, OpenStack Swift browser pentru Windows PC, pentru utilizatorii gazduiți ne-gestionați.
Dacă aveți un site găzduit automat și doriți să încărcați sau să descărcați fișiere pe computer, puteți faceți două lucruri. În primul rând, puteți deschide direct cPanel-ul, creați o arhivă și descărcați-l. Sau puteți utiliza un client FTP pentru a descărca toate fișierele. Deși prima metodă nu este aplicabilă pentru toate tipurile de găzduire, celelalte metode pot fi utilizate cu orice hosting, inclusiv gestionate, semi-gestionate, precum și hosting neadministrat. FileZilla este un client FTP
Cum se utilizează comanda linux sftp pentru a transfera fișiere
SFTP (SSH File Transfer Protocol) este un protocol de fișier securizat utilizat pentru a accesa, gestiona și transfera fișiere printr-un transport SSH criptat. În acest tutorial, vă vom arăta cum să utilizați comanda `sftp` Linux.







