Przesyłanie plików na serwer: FTP, SFTP
W tej lekcji skupimy się na dwóch głównych protokołach służących do przesyłania plików: FTP (File Transfer Protocol) oraz SFTP (SSH File Transfer Protocol).
Poznasz różnice między tymi protokołami, dowiesz się, jak z nich korzystać, oraz jakie narzędzia mogą Ci w tym pomóc. Bez względu na to, czy korzystasz z hostingu współdzielonego, VPS czy serwera dedykowanego, umiejętność przesyłania plików na serwer jest kluczowa w pracy każdego web dewelopera.
Dlaczego przesyłanie plików na serwer jest ważne?
- Publikacja strony: Aby Twoja strona była dostępna w sieci, jej pliki muszą znajdować się na serwerze.
- Aktualizacje: Możesz wprowadzać zmiany i aktualizacje w swojej witrynie, przesyłając nowe wersje plików.
- Zarządzanie zasobami: Możliwość dodawania, edytowania i usuwania plików na serwerze.
- Backup: Przesyłanie i pobieranie plików umożliwia tworzenie kopii zapasowych.
FTP i SFTP – co to jest?
FTP (File Transfer Protocol)
FTP to protokół sieciowy służący do przesyłania plików między komputerami w sieci TCP/IP. Jest jednym z najstarszych i najprostszych sposobów transferu plików na serwer.
Cechy FTP:
- Prostota: Łatwy w użyciu i konfiguracji.
- Brak szyfrowania: Dane, w tym hasła, są przesyłane w formie niezaszyfrowanej, co stanowi ryzyko bezpieczeństwa.
- Powszechny: Obsługiwany przez większość serwerów i klientów FTP.
SFTP (SSH File Transfer Protocol)
SFTP to protokół zapewniający bezpieczny transfer plików poprzez połączenie SSH (Secure Shell). Jest bardziej zaawansowany i bezpieczny niż FTP.
Cechy SFTP:
- Bezpieczeństwo: Dane są szyfrowane podczas transferu, chroniąc je przed podsłuchem.
- Autoryzacja: Używa uwierzytelniania SSH, co zwiększa bezpieczeństwo.
- Funkcjonalność: Oferuje dodatkowe funkcje, takie jak zarządzanie plikami i uprawnieniami.
Porównanie FTP i SFTP
Cecha | FTP | SFTP |
---|---|---|
Bezpieczeństwo | Brak szyfrowania | Szyfrowane połączenie |
Port | Domyślnie port 21 | Domyślnie port 22 |
Uwierzytelnianie | Login i hasło przesyłane otwartym tekstem | Uwierzytelnianie SSH |
Zastosowanie | Podstawowy transfer plików | Bezpieczny transfer i zarządzanie |
Wniosek: SFTP jest zalecanym protokołem ze względu na bezpieczeństwo i funkcjonalność.
Jak korzystać z FTP i SFTP?
Aby przesyłać pliki na serwer za pomocą FTP lub SFTP, potrzebujesz:
- Danych dostępowych: Adres serwera, login, hasło, port.
- Klienta FTP/SFTP: Programu umożliwiającego połączenie z serwerem i zarządzanie plikami.
Popularne klienty FTP/SFTP
- FileZilla: Darmowy, otwartoźródłowy klient FTP/SFTP dostępny na Windows, macOS i Linux.
- WinSCP: Darmowy klient SFTP i FTP dla systemu Windows.
- Cyberduck: Klient FTP/SFTP dla macOS i Windows.
- Transmit: Płatny klient FTP/SFTP dla macOS.
Konfiguracja połączenia FTP/SFTP
Krok 1: Uzyskanie danych dostępowych
Skontaktuj się ze swoim dostawcą hostingu lub zaloguj się do panelu administracyjnego, aby uzyskać następujące informacje:
- Adres serwera: Może to być adres IP lub nazwa hosta (np. ftp.twojastrona.pl).
- Port: FTP domyślnie używa portu 21, SFTP – portu 22.
- Login i hasło: Dane uwierzytelniające do konta FTP/SFTP.
- Ścieżka docelowa: Katalog, w którym powinieneś umieścić pliki (np. /public_html/).
Krok 2: Instalacja klienta FTP/SFTP
Przykład z FileZilla:
- Pobierz FileZilla z oficjalnej strony: https://filezilla-project.org/.
- Zainstaluj program, postępując zgodnie z instrukcjami instalatora.
Krok 3: Konfiguracja połączenia w FileZilla
-
Uruchom FileZilla.
-
Otwórz Menedżera stron:
Plik
>Menedżer stron
(lub skrótCtrl+S
). -
Dodaj nową stronę:
- Nowa strona: Kliknij przycisk
Nowy wpis
. - Nazwa: Nazwij swoje połączenie (np.
Moja strona
).
- Nowa strona: Kliknij przycisk
-
Uzupełnij dane:
- Host: Adres serwera (np.
ftp.twojastrona.pl
). - Port: Jeśli używasz domyślnego, możesz zostawić puste.
- Protokół: Wybierz
SFTP – SSH File Transfer Protocol
lubFTP – File Transfer Protocol
. - Typ logowania: Wybierz
Normalne
. - Użytkownik: Twój login.
- Hasło: Twoje hasło.
- Host: Adres serwera (np.
-
Zapisz ustawienia i połącz się.
Krok 4: Przesyłanie plików
Po połączeniu zobaczysz dwa panele:
- Lewy panel: Pliki na Twoim komputerze.
- Prawy panel: Pliki na serwerze.
Przesyłanie plików:
- Przeciągnij i upuść pliki z lewego panelu do prawego w odpowiedni katalog (np.
/public_html/
). - Monitoruj postęp w dolnej części programu.
Bezpieczeństwo podczas korzystania z FTP/SFTP
Dlaczego warto używać SFTP zamiast FTP?
- Szyfrowanie: Dane, w tym hasła i pliki, są szyfrowane podczas transferu, co chroni przed podsłuchem.
- Bezpieczne uwierzytelnianie: Wykorzystuje protokół SSH.
Unikanie ryzyka związanego z FTP
- Nie używaj FTP w sieciach publicznych: Brak szyfrowania naraża Cię na przechwycenie danych.
- Jeśli musisz użyć FTP, rozważ zastosowanie dodatkowych zabezpieczeń, takich jak VPN.
Konfiguracja SFTP z kluczami SSH
Dla jeszcze większego bezpieczeństwa możesz użyć kluczy SSH zamiast hasła.
Krok 1: Generowanie klucza SSH
-
Na systemie Windows:
- Użyj programu PuTTYgen (część zestawu PuTTY).
-
Na systemach macOS i Linux:
- Otwórz terminal i wpisz:
ssh-keygen -t rsa -b 4096 -C "twój_email@domena.pl"
- Otwórz terminal i wpisz:
-
Postępuj zgodnie z instrukcjami: Zapisz klucz prywatny i publiczny.
Krok 2: Dodanie klucza publicznego na serwerze
- Zaloguj się do panelu administracyjnego hostingu.
- Znajdź opcję zarządzania kluczami SSH.
- Dodaj klucz publiczny, wklejając zawartość pliku
id_rsa.pub
.
Krok 3: Konfiguracja klienta SFTP
-
W FileZilla:
- Menedżer stron: Edytuj swoje połączenie.
- Typ logowania: Wybierz
Klucz SSH
. - Użytkownik: Twój login.
- Klucz: Wskaż plik z kluczem prywatnym.
-
Zapisz ustawienia i połącz się.
Dobre praktyki przy przesyłaniu plików
1. Struktura katalogów
- Utrzymuj porządek: Organizuj pliki w logiczną strukturę katalogów.
- Unikaj przypadkowego usuwania: Uważaj podczas usuwania plików na serwerze.
2. Prawa dostępu do plików
- Ustaw odpowiednie uprawnienia: Zazwyczaj pliki powinny mieć uprawnienia
644
, a katalogi755
. - Unikaj uprawnień
777
: Może to stanowić zagrożenie bezpieczeństwa.
3. Kopie zapasowe
- Przed większymi zmianami: Wykonaj kopię zapasową plików i bazy danych.
- Regularne backupy: Planuj regularne tworzenie kopii zapasowych.
4. Używaj SFTP
- Bezpieczeństwo przede wszystkim: Zawsze preferuj SFTP nad FTP.
Częste problemy i ich rozwiązania
1. Nie można połączyć się z serwerem
- Problem: Błąd połączenia, brak odpowiedzi serwera.
- Rozwiązanie:
- Sprawdź poprawność danych dostępowych.
- Upewnij się, że port jest otwarty w Twojej sieci (np. nie jest blokowany przez firewall).
- Skontaktuj się z dostawcą hostingu.
2. Odmowa dostępu podczas przesyłania plików
- Problem: Nie możesz przesłać plików do określonego katalogu.
- Rozwiązanie:
- Sprawdź uprawnienia do katalogu na serwerze.
- Upewnij się, że masz odpowiednie uprawnienia do zapisu.
- Skontaktuj się z administratorem serwera.
3. Błędy podczas transferu plików
- Problem: Transfer jest przerywany, pliki są niekompletne.
- Rozwiązanie:
- Sprawdź stabilność swojego połączenia internetowego.
- Spróbuj przesłać pliki ponownie.
- Zaktualizuj klienta FTP/SFTP do najnowszej wersji.
4. Nieprawidłowe wyświetlanie strony po przesłaniu plików
- Problem: Strona nie działa poprawnie po przesłaniu plików.
- Rozwiązanie:
- Upewnij się, że pliki zostały przesłane do właściwego katalogu (np.
/public_html/
). - Sprawdź, czy wszystkie pliki zostały poprawnie przesłane.
- Sprawdź uprawnienia do plików.
- Upewnij się, że pliki zostały przesłane do właściwego katalogu (np.
Narzędzia do przesyłania plików
1. FileZilla
- Strona: https://filezilla-project.org/
- Funkcje:
- Obsługa FTP, SFTP i FTPS.
- Przejrzysty interfejs.
- Menedżer stron do zarządzania połączeniami.
2. WinSCP
- Strona: https://winscp.net/
- Funkcje:
- Obsługa SFTP, SCP, FTP i WebDAV.
- Integracja z Eksploratorem Windows.
- Skrypty i automatyzacja.
3. Cyberduck
- Strona: https://cyberduck.io/
- Funkcje:
- Dostępny na macOS i Windows.
- Obsługa SFTP, FTP, WebDAV, Amazon S3, Google Drive i innych.
- Integracja z edytorami tekstu.
4. Terminal (macOS, Linux)
- Komenda:
sftp użytkownik@serwer
- Użycie:
- Dla zaawansowanych użytkowników.
- Możliwość automatyzacji poprzez skrypty.
Podsumowanie
W tej lekcji nauczyliśmy się:
- Czym są protokoły FTP i SFTP oraz jakie są między nimi różnice.
- Jak skonfigurować połączenie FTP/SFTP za pomocą klienta, takiego jak FileZilla.
- Dlaczego SFTP jest zalecanym protokołem ze względu na bezpieczeństwo.
- Jak przesyłać pliki na serwer i zarządzać nimi.
- Dobrych praktyk przy korzystaniu z FTP/SFTP, takich jak ustawianie praw dostępu i tworzenie kopii zapasowych.
- Jak rozwiązywać typowe problemy związane z transferem plików.
Przesyłanie plików na serwer to kluczowa umiejętność w web developmencie. Dzięki znajomości FTP i SFTP możesz efektywnie zarządzać swoją stroną internetową, aktualizować ją i utrzymywać w dobrej kondycji.
Zadania do samodzielnego wykonania
-
Skonfiguruj połączenie SFTP:
- Pobierz i zainstaluj FileZilla lub innego klienta SFTP.
- Uzyskaj dane dostępowe do swojego serwera.
- Skonfiguruj połączenie i połącz się z serwerem.
-
Prześlij pliki swojej strony na serwer:
- Przesuń pliki z lokalnego komputera na serwer w odpowiedni katalog.
- Upewnij się, że strona działa poprawnie po przesłaniu.
-
Ustaw uprawnienia do plików:
- Sprawdź uprawnienia do plików i katalogów na serwerze.
- Ustaw odpowiednie prawa dostępu (pliki
644
, katalogi755
).
-
Skonfiguruj uwierzytelnianie za pomocą kluczy SSH (opcjonalnie):
- Wygeneruj klucz SSH.
- Dodaj klucz publiczny na serwerze.
- Skonfiguruj klienta SFTP do używania klucza prywatnego.
Ciekawostka
Czy wiesz, że protokół FTP został po raz pierwszy zdefiniowany w 1971 roku, zanim powstał internet w dzisiejszej formie? Mimo swojego wieku, FTP nadal jest powszechnie używany, choć coraz częściej zastępowany przez bezpieczniejsze protokoły, takie jak SFTP i FTPS, które spełniają współczesne standardy bezpieczeństwa.
Testy przypięte do lekcji | |
---|---|
Aby uzyskać dostęp do testów i ćwiczeń interaktywnych - Zaloguj się |