Configurarea serverului ProFTPD pentru autentificare cu utilizatori de sistem şi conexiune SFTP

Implicit, serverul SSH pe sisteme GNU/Linux permite transferul de date prin protocolul SFTP. Pentru un sistem care nu implică conexiunea persoanelor cu drepturi restricţionate, e suficient.

Dar dacă este nevoie de a configura accesul unor persoane terţe, atunci apare necesitatea de izola aceşti utilizatori. Cea mai simplă şi funcţională soluţie în cazul dat este configurarea unui server FTP ce va lucra şi pe protocolul SFTP, pe un port aparte.

În acest exemplu vom utiliza ProFTPD şi un sistem de operare Ubuntu/Debian.

Instalăm serverul ProFTPD:

apt-get update && apt-get install proftpd

În fişierul /etc/proftpd/conf.d/sftp.conf adăugăm următorul conţinut:

<IfModule mod_sftp.c>
 SFTPEngine on
 Port 2222
 SFTPLog /var/log/proftpd/sftp.log
 SFTPHostKey /etc/ssh/ssh_host_rsa_key
 SFTPHostKey /etc/ssh/ssh_host_dsa_key
 SFTPAuthMethods password
 SFTPCompression delayed
 </IfModule>

În fişierul /etc/proftpd/proftpd.conf decomentaţi şi modificaţi (sau adăugaţi dacă lipsesc) următoarele rînduri:

DefaultRoot ~
 PassivePorts 50000 50010
 AuthOrder mod_auth_pam.c* mod_auth_unix.c

Dacă doriţi să dezactivaţi posibilitatea de conectare SFTP oferită de SSH (pe portul 22), atunci comentaţi (sau ştergeţi) în fişierul /etc/ssh/sshd_config următorul rînd:
Subsystem sftp /usr/lib/openssh/sftp-server

Reporniţi serverul ProFTPD:

service proftpd restart

Reporniţi serverul SSH (dacă aţi făcut modificări în el):

service ssh restart

Pentru autentificare se for folosi datele utilizatorilor din sistem. Pentru a adăuga un utilizator nou folosiţi instrucţiunea:

adduser numele_utilizatorul

Pentru conectare puteţi folosi FileZilla sau oarecare alt client. Setările sînt următoarele:
Host: hostname sau IP
Port: 2222
Protocol: SFTP
User: numele_utilizatorul
Password: parola_utilizatorului

Transfer de fişiere prin protocolul SFTP (alternativă pentru FTP)

Atunci cînd trebuie să vă conectați pentru a transfera fișiere la un server sau calculator obișnuit ce folosește Linux, dacă nu aveți configurat serverul FTP, puteți să vă conectați prin SFTP (SSH File Transfer Protocol). Acest protocol presupune autentificarea și transferul fișierelor prin SSH, deci absolut fără alte setări decît activarea serverului SSH, cunoașterea portului (dacă a fost modificat cel implicit – 22) și datele de autentificare.

În calitate de client puteți folosi pentru Windows: Filezilla, CoreFTP, WinSCP sau BitKinex, iar Linux are integrată posibilitatea de conectare SFTP chiar în managerul de fișiere a interfeței grafice (comanda: sftp://user@example.com:22) sau puteți folosi versiunea Filezilla pentru Linux.

Setările pentru Filezilla:

filezilla sftp

Setările pentru WinSCP:

winscp sftp