W dawnych czasach onJedynym sposobem na stworzenie strony internetowej było zrobienie tego na komputerze programisty i przesłanie go na serwer. Autorskie rozwiązania, takie jak Microsoft FrontPage, zawierały własny system przesyłania plików, ale wymagały od serwera posiadania odpowiednich rozszerzeń. Inną alternatywą było użycie klienta FTP.
Obecnie większość witryn korzysta z pewnego rodzaju menedżera treści (który można zainstalować za pomocą kreatora dostarczonego przez Hosting) lub z narzędzia do tworzenia witryn internetowych. Oznacza to, że FTP i sFTP nie są już tak często używane. Jednak nadal mają swoje zastosowania.
Różnicowanie FTP i sFTP
Protokół przesyłania plików (FTP) i protokół przesyłania plików SSH (SFTP), znany również jako protokół bezpiecznego przesyłania plików, Robią wiele z tych samych rzeczy, ale z pewnymi znaczącymi różnicami wartymi odnotowania.
Wspólne funkcje to:
- Pozwalają na wykorzystanie klienta z interfejsem graficznym do łączenia komputerów źródłowych i docelowych.
- Możliwe jest poruszanie się pomiędzy plikami na obu komputerach, modyfikowanie, usuwanie i przenoszenie ich z jednego komputera na drugi.
To, co odróżnia oba protokoły, to sposób, w jaki robią rzeczy:
FTP
Standard protokołu przesyłania plików (FTP). wykorzystuje model klient-serwer, który łączy się za pomocą dwóch oddzielnych kanałów do przenoszenia danych między nimi. Te dwa kanały to kanał poleceń i kanał danych. Żaden z dwóch kanałów nie jest szyfrowany (domyślnie), oznacza to, że gdyby ktoś mógł zbierać dane między serwerem a klientem poprzez atak typu man-in-the-middle, mógłby je łatwo odczytać. Słabym punktem protokołu FTP jest to, że dane są przesyłane jako zwykły tekst, co bardzo ułatwia zebranie informacji z przechwyconych danych.
Atak man-in-the-middle to atak, w którym hakerzy przechwytują komunikację między klientem a serwerem bez wykrycia.
sFTP
Bezpieczna powłoka FTP (SFTP) wykorzystuje pojedynczy kanał jako środek wymiany danych. Ten kanał jest szyfrowany i chroniony za pomocą kombinacji nazwy użytkownika i hasła lub za pomocą kluczy kryptograficznych SSH. W przypadku przechwycenia transmisji pomiędzy klientem a serwerem odczyt danych nie będzie możliwy.
Których należy użyć?
Aby wybrać między jednym a drugim protokołem kluczowe pytanie dotyczy tego, czy dane zawierają informacje wrażliwe.
Aby przesłać stronę internetową, która zawiera tylko treść HTML, CSS i Javascript, bezpieczeństwo nie jest kluczowym czynnikiem.Jednak jeśli przesyłasz menedżera treści, takiego jak WordPress, w którym zawarte są klucze szyfrujące i dane z baz danych, musisz być ostrożny.
Kolejną kwestią, o której należy pamiętać, jest to, że SFTP działa wolniej niż FTP. ze względu na zabezpieczenia wbudowane w protokół. Dane są szyfrowane, a Ty pracujesz tylko z jednym kanałem.
Korzystając z protokołu SSH, sFTP wymaga uwierzytelnienia. To wyklucza użycie go jako publicznego serwera pobierania plików.
Protokół SFTP oferuje dwie główne metody uwierzytelniania połączeń.. Jednym z nich jest, podobnie jak w przypadku FTP, użycie nazwy użytkownika i hasła. Jednak w przypadku protokołu SFTP te dane uwierzytelniające są szyfrowane.
Drugą metodą uwierzytelniania są klucze SSH.. W tym celu musisz najpierw wygenerować klucz prywatny SSH i klucz publiczny. Klucz publiczny SSH jest przesyłany na serwer i powiązany z kontem. Podczas łączenia się z serwerem SFTP oprogramowanie klienckie przesyła swój klucz publiczny w celu uwierzytelnienia. Jeśli klucz publiczny jest zgodny z kluczem prywatnym, wraz z podaną nazwą użytkownika lub hasłem, uwierzytelnienie zakończy się pomyślnie.
Jest rzeczą oczywistą, że nie są to jedyne istniejące protokoły. To jest artykuł wprowadzający, który posłuży jako podstawa dla następnych.
W repozytoriach jest wielu klientów FTP i sFTP, o których porozmawiamy później. Moim ulubionym jest FileZila.