SFTP, czyli Secure File Transfer Protocol, to protokół sieciowy zapewniający bezpieczny dostęp do plików, przesyłanie i możliwości zarządzania za pośrednictwem połączeń SSH (Secure Shell). W przeciwieństwie do protokołu FTP, który działa w kanałach zwykłego tekstu, protokół SFTP szyfruje zarówno polecenia, jak i dane przy użyciu protokołu SSH, aby zapewnić poufność i integralność podczas przesyłania plików.
SFTP działa poprzez ustanowienie sesji SSH pomiędzy klientem a serwerem. Po uwierzytelnieniu klient może bezpiecznie wykonywać operacje na plikach, takie jak przesyłanie, pobieranie, zmiana nazwy, usuwanie i bezpieczne zarządzanie strukturami katalogów za pośrednictwem połączenia SSH. Klienci i serwery SFTP zazwyczaj uwierzytelniają się przy użyciu nazwy użytkownika/hasła lub par kluczy SSH w celu zwiększenia bezpieczeństwa.
Protokołem używanym w SFTP jest SSH, a konkretnie protokół przesyłania plików SSH (SFTP). SSH zapewnia bezpieczny kanał w niezabezpieczonej sieci, szyfrując dane, aby zapobiec nieautoryzowanemu dostępowi i przechwyceniu. SFTP wykorzystuje ten bezpieczny kanał do bezpiecznego przesyłania plików między klientem a serwerem, zapewniając ochronę danych.
Główna różnica między FTP i SFTP polega na bezpieczeństwie. FTP wysyła dane w postaci zwykłego tekstu, co czyni je podatnymi na przechwycenie i nieautoryzowany dostęp. Natomiast protokół SFTP szyfruje zarówno polecenia, jak i dane, zapewniając wyższy poziom bezpieczeństwa odpowiedni dla wrażliwych transferów plików. Protokół SFTP jest również przyjazny dla firewalli, ponieważ zazwyczaj wykorzystuje pojedynczy port (zwykle port TCP 22) zarówno do transmisji poleceń, jak i danych, co upraszcza konfigurację sieci i zwiększa bezpieczeństwo.
Przykłady implementacji protokołu bezpiecznego przesyłania plików (SFTP) obejmują OpenSSH, który obejmuje serwer SFTP i funkcjonalność klienta, oraz komercyjne oprogramowanie serwera SFTP, takie jak Bitvise SSH Server, Titan SFTP Server i Tectia SSH Server SSH.com. Narzędzia te zapewniają niezawodne szyfrowanie, mechanizmy uwierzytelniania i funkcje zarządzania umożliwiające bezpieczne przesyłanie plików w różnych ustawieniach organizacyjnych.