🔐 Jak Zainstalować i Używać SFTP na Linux Servers
Kompletny poradnik instalacji i konfiguracji SFTP na Linux. Krok po kroku – od ustawienia SSH, przez tworzenie użytkowników SFTP, do łączenia się z różnych klientów. Idealne dla Linux VPS lub serwera dedykowanego.
1. Czym jest SFTP?
SFTP (SSH File Transfer Protocol) to bezpieczny protokół do transferu plików między komputerami. Działa poprzez SSH (Secure Shell) i jest domyślnie szyfrowany, w przeciwieństwie do starego FTP.
Instalacja SFTP na Linux VPS lub serwerze dedykowanym jest bardzo prosta – SSH zawiera SFTP! Wystarczy aktywować to na Linux VPS.
Główne Cechy SFTP:
- 🔒 Całkowicie szyfrowany (bezpieczny)
- 🚀 Szybki transfer plików
- 🔑 Może używać kluczy SSH zamiast haseł
- 📁 Pełne zarządzanie plikami (download, upload, delete)
- 📊 Cicha, niezawodna transmisja
- 🌐 Port 22 (standardowy SSH port)
2. SFTP vs FTP – Różnice
| Cecha | SFTP | FTP |
|---|---|---|
| Szyfrowanie | ✅ Tak, w 100% | ❌ Nie (hasło na widoku!) |
| Bezpieczeństwo | ✅ Bardzo bezpieczny | ❌ Niebezpieczny |
| Port | 22 (SSH port) | 21 (FTP port) |
| Instalacja | SSH = automatycznie SFTP | Wymaga zainstalowania vsftpd |
| Dla serwerów | ✅ Zalecany (nowoczesny) | ❌ Przestarzały |
| Dla Linux VPS | ✅ Idealny | ❌ Nie zalecany |
3. Wymagania Systemowe
Przed zainstalowaniem SFTP na Linux VPS, sprawdź czy Twój serwer spełnia wymagania:
Minimalne
- SSH Server zainstalowany
- Port 22 otwarty
- Linux (Debian, Ubuntu, CentOS)
- 1 GB dysku na pliki
Rekomendowane
- OpenSSH 7.4+
- Firewall skonfigurowany
- Użytkownik dedykowany do SFTP
- Kluczy SSH dla autentykacji
SFTP nie wymaga dodatkowych instalacji na Linux VPS – jest w SSH! Wystarczy tylko konfiguracja.
4. Instalacja i Konfiguracja SSH/SFTP
Krok 1: Sprawdzenie czy SSH jest Zainstalowany
Powinna pokazać: „OpenSSH_X.X”
Krok 2: Instalacja SSH (jeśli nie ma)
Na Ubuntu/Debian:
sudo apt install -y openssh-server openssh-client
Na CentOS/AlmaLinux:
Krok 3: Uruchomienie SSH Server
sudo systemctl enable ssh
Krok 4: Sprawdzenie Statusu
Powinna pokazać „active (running)”
SFTP jest Teraz Aktywny!
SSH i SFTP są już dostępne na Linux VPS lub serwerze dedykowanym! Teraz wystarczy utworzyć użytkownika SFTP.
5. Tworzenie Użytkownika SFTP
Krok 1: Tworzenie Nowego Użytkownika
Na Linux VPS stwórz użytkownika dla SFTP:
Wyjaśnienie:
-m= utwórz home folder-s /usr/sbin/nologin= brak dostępu SSH/shell (tylko SFTP)sftp_user= nazwa użytkownika
Krok 2: Ustawienie Hasła
Wpisz hasło dla użytkownika.
Krok 3: Tworzenie Folderu Upload
Stwórz folder do przechowywania plików:
sudo chown sftp_user:sftp_user /home/sftp_user/uploads
sudo chmod 755 /home/sftp_user/uploads
Sprawdzenie Użytkownika
Powinna pokazać UID i GID nowego użytkownika.
6. Konfiguracja Uprawnień
Uprawnienia Home Folder
Home folder musi mieć specjalne uprawnienia:
sudo chmod 755 /home/sftp_user
To zapewnia, że folder jest własnością root (bezpieczeństwo), ale SFTP user może go czytać.
Folder Uploads
Folder uploads powinien być własnością SFTP user:
sudo chmod 755 /home/sftp_user/uploads
Czyszczenie Uprawnień
Jeśli coś nie działa, spróbuj resetowania uprawnień:
7. Ograniczenie do Tylko SFTP (Chroot)
Co to Jest Chroot?
Chroot ogranicza użytkownika SFTP tylko do jego własnego folderu – nie może przejść wyżej w systemie. Zwiększa to bezpieczeństwo!
Konfiguracja Chroot w SSH
Edytuj plik konfiguracji SSH:
Dodaj na Końcu Pliku:
ChrootDirectory /home/sftp_user
AllowAgentForwarding no
AllowTcpForwarding no
PermitTTY no
ForceCommand internal-sftp -f SYSLOG -l INFO
Wyjaśnienie:
Match User= dotyczy tylko tego użytkownikaChrootDirectory= zamknij w tym folderzeAllowAgentForwarding no= brak forwardingPermitTTY no= brak terminalaForceCommand internal-sftp= tylko SFTP, bez SSH
Restart SSH
Sprawdzenie Konfiguracji
Powinna pokazać „ok”.
8. Klienty SFTP i Łączenie
Klient WinSCP (Windows)
Najlepszy graficzny klient SFTP dla Windows:
- Pobierz z winscp.net
- Uruchom i wpisz:
- Host: IP Linux VPS lub serwera dedykowanego
- Port: 22
- Username: sftp_user
- Password: hasło użytkownika
- Kliknij „Login”
Klient FileZilla (Windows, Mac, Linux)
Popularny darmowy klient:
- Pobierz z filezilla-project.org
- File → Site Manager
- New Site:
- Protocol: SFTP
- Host: IP serwera
- Port: 22
- Logon Type: Normal
- User: sftp_user
- Password: hasło
- Connect
SFTP Command Line (Mac, Linux)
Połączenie z terminala:
Wpisz hasło i jesteś zalogowany!
Komendy SFTP w Terminalu
cd uploads # Zmiana folderu
get file.txt # Pobranie pliku
put file.txt # Wysłanie pliku
mkdir newfolder # Nowy folder
rm file.txt # Usunięcie pliku
quit # Wyjście
Batch Transfer (Automatyczne Wysyłanie)
Skrypt bash do wysyłania plików:
sftp -b – sftp_user@IP_SERWERA << EOF
cd uploads
put /local/path/file.txt
quit
EOF
9. Zaawansowane Opcje
Autentykacja SSH Keys (Bez Hasła)
Bardziej bezpieczne niż hasła!
1. Generowanie Klucza na Komputerze Klienta
2. Wysłanie Klucza na Serwer
3. Łączenie z Kluczem
Bezpieczeństwo: Ograniczenie Uprawnień Klucza
Na serwerze, edytuj authorized_keys:
Dodaj na początek linijki:
Monitorowanie SFTP Logów
Wielokrotni Użytkownicy SFTP
Powtórz kroki 5-7 dla każdego użytkownika.
Quota (Limit Miejsca)
Limit storage dla użytkownika:
10. Pytania i Odpowiedzi
🎉 Podsumowanie
SFTP to bezpieczny, wbudowany (w SSH) protokół transferu plików na Linux VPS i serwerach dedykowanych. Nie wymaga dodatkowej instalacji – wystarczy konfiguracja!
Checklist Po Instalacji:
- ✅ SSH/SFTP zainstalowany i działający
- ✅ Użytkownik SFTP utworzony
- ✅ Folder uploads skonfigurowany
- ✅ Uprawnienia ustawione (chroot)
- ✅ Klient SFTP zainstalowany (WinSCP/FileZilla)
- ✅ Połączenie testowe działające
- ✅ SSH keys skonfigurowane (opcjonalnie)
- ✅ Firewall otwiera port 22
Porównanie SFTP na Różnych Serwerach:
- 🖥️ Linux VPS – natywny SFTP, bardzo łatwy
- 💾 Serwer dedykowany – to samo, ale więcej zasobów
- 🪟 Serwer dedykowany windows – brak natywnego SFTP, wymaga wtyczek
- 📱 Tani VPS Linux – SFTP działa bez problemów
Kiedy Używać SFTP?
- ✅ Transfer plików do Linux VPS
- ✅ Backup danych z serwera
- ✅ Zarządzanie plikami serwera
- ✅ Automatyczne uploadowanie plików (cron)
- ✅ Bezpieczne transfery (HTTPS nie potrzebny)
SFTP to nowoczesny standard dla bezpiecznego transferu plików. Jeśli wynajmujesz Linux VPS lub serwer dedykowany od NetCloud24, SFTP jest gotowy do użytku – wystarczy stworzyć użytkownika!
Dodaj komentarz