Jak Zainstalować i Używać SFTP na Linux

Jak Zainstalować i Używać SFTP na Linux

 

 

 

 

🔐 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)
Porównanie: Jeśli masz serwer dedykowany windows, musisz instalować oddzielnie FTP/SFTP. Na Linux VPS SFTP jest wbudowany w SSH!

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
Rekomendacja: ZAWSZE używaj SFTP zamiast FTP na Linux VPS lub serwerze dedykowanym. FTP to przeszłość!

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

ssh -V

Powinna pokazać: „OpenSSH_X.X”

Krok 2: Instalacja SSH (jeśli nie ma)

Na Ubuntu/Debian:

sudo apt update
sudo apt install -y openssh-server openssh-client

Na CentOS/AlmaLinux:

sudo dnf install -y openssh-server openssh-clients

Krok 3: Uruchomienie SSH Server

sudo systemctl start ssh
sudo systemctl enable ssh

Krok 4: Sprawdzenie Statusu

sudo systemctl status ssh

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.

Sukces! SSH/SFTP jest zainstalowany i działający!

5. Tworzenie Użytkownika SFTP

Krok 1: Tworzenie Nowego Użytkownika

Na Linux VPS stwórz użytkownika dla SFTP:

sudo useradd -m -s /usr/sbin/nologin sftp_user

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

sudo passwd sftp_user

Wpisz hasło dla użytkownika.

Krok 3: Tworzenie Folderu Upload

Stwórz folder do przechowywania plików:

sudo mkdir -p /home/sftp_user/uploads
sudo chown sftp_user:sftp_user /home/sftp_user/uploads
sudo chmod 755 /home/sftp_user/uploads

Sprawdzenie Użytkownika

id sftp_user

Powinna pokazać UID i GID nowego użytkownika.

Gotowe! Użytkownik SFTP jest utworzony na Linux VPS!

6. Konfiguracja Uprawnień

Uprawnienia Home Folder

Home folder musi mieć specjalne uprawnienia:

sudo chown root:root /home/sftp_user
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 chown sftp_user:sftp_user /home/sftp_user/uploads
sudo chmod 755 /home/sftp_user/uploads

Czyszczenie Uprawnień

Jeśli coś nie działa, spróbuj resetowania uprawnień:

sudo chmod 700 /home/sftp_user/uploads
Info: Uprawnienia to ważne. Jeśli SFTP user nie może pisać do folderu – sprawdzić uprawnienia!

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:

sudo nano /etc/ssh/sshd_config

Dodaj na Końcu Pliku:

Match User sftp_user
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żytkownika
  • ChrootDirectory = zamknij w tym folderze
  • AllowAgentForwarding no = brak forwarding
  • PermitTTY no = brak terminala
  • ForceCommand internal-sftp = tylko SFTP, bez SSH

Restart SSH

sudo systemctl restart ssh

Sprawdzenie Konfiguracji

sudo sshd -t

Powinna pokazać „ok”.

Sukces! Chroot jest skonfigurowany! SFTP user może tylko pracować w swoim folderze.

8. Klienty SFTP i Łączenie

Klient WinSCP (Windows)

Najlepszy graficzny klient SFTP dla Windows:

  1. Pobierz z winscp.net
  2. Uruchom i wpisz:
  3. Kliknij „Login”

Klient FileZilla (Windows, Mac, Linux)

Popularny darmowy klient:

  1. Pobierz z filezilla-project.org
  2. File → Site Manager
  3. New Site:
    • Protocol: SFTP
    • Host: IP serwera
    • Port: 22
    • Logon Type: Normal
    • User: sftp_user
    • Password: hasło
  4. Connect

SFTP Command Line (Mac, Linux)

Połączenie z terminala:

sftp sftp_user@IP_SERWERA

Wpisz hasło i jesteś zalogowany!

Komendy SFTP w Terminalu

ls # Lista plików
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:

#!/bin/bash
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

ssh-keygen -t rsa -b 4096 -f ~/.ssh/sftp_key

2. Wysłanie Klucza na Serwer

ssh-copy-id -i ~/.ssh/sftp_key.pub sftp_user@IP_SERWERA

3. Łączenie z Kluczem

sftp -i ~/.ssh/sftp_key sftp_user@IP_SERWERA

Bezpieczeństwo: Ograniczenie Uprawnień Klucza

Na serwerze, edytuj authorized_keys:

sudo nano /home/sftp_user/.ssh/authorized_keys

Dodaj na początek linijki:

restrict,command=”internal-sftp” ssh-rsa AAAA…

Monitorowanie SFTP Logów

sudo tail -f /var/log/auth.log | grep sftp

Wielokrotni Użytkownicy SFTP

Powtórz kroki 5-7 dla każdego użytkownika.

Quota (Limit Miejsca)

Limit storage dla użytkownika:

sudo setfacl -m u:sftp_user:100G /home/sftp_user/uploads

10. Pytania i Odpowiedzi

P: Czy SFTP jest wbudowany w SSH?O: Tak! SFTP jest cząścią SSH (subsystem). Jeśli masz SSH na Linux VPS, masz też SFTP!

P: Czy mogę zainstalować SFTP na tanich VPS Linux?O: Oczywiście! SFTP nie wymaga dodatkowych zasobów. Nawet tani VPS Linux z 512 MB RAM będzie działać.

P: Czy mogę zainstalować SFTP na serwer vps z windows?O: Nie bezpośrednio. SFTP to protokół Linuxa. Na serwer vps z windows możesz zainstalować WinSCP server lub inny SFTP dla Windows.

P: Czy SFTP jest bezpieczniejszy niż FTP?O: Zdecydowanie! SFTP szyfruje wszystko. FTP wysyła hasło w czystym tekście. SFTP = bezpieczeństwo!

P: Jak mogę zablokować SFTP dostęp dla użytkownika?O: Zmień shell na /usr/sbin/nologin: `sudo usermod -s /usr/sbin/nologin username`

P: Czy mogę uploadować duże pliki przez SFTP?O: Tak! SFTP obsługuje duże pliki. Na Linux VPS limit zależy od dysku i timeout SSH.

P: Czy Chroot zmniejszy wydajność SFTP?O: Nie. Chroot zwiększa bezpieczeństwo, nie wpływa na wydajność.

P: Czy mogę automatyzować transfer plików przez SFTP?O: Tak! Skrypty bash z SFTP mogą transferować pliki automatycznie (cron jobs, itp).

P: Czy serwer dedykowany od NetCloud24 ma SFTP?O: Tak! Każdy Linux VPS i serwer dedykowany ma SSH/SFTP domyślnie!

🎉 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:

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!

➜ Zamów Linux VPS z SFTP – NetCloud24

 

 

Netcloud24.com

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Wymagane pola są oznaczone *