SFTP, of Secure File Transfer Protocol, is een netwerkprotocol dat veilige bestandstoegang, overdracht en beheermogelijkheden biedt via SSH-verbindingen (Secure Shell). In tegenstelling tot FTP, dat via gewone tekstkanalen werkt, codeert SFTP zowel opdrachten als gegevens met behulp van SSH om de vertrouwelijkheid en integriteit tijdens bestandsoverdrachten te garanderen.
SFTP werkt door een SSH-sessie tot stand te brengen tussen een client en een server. Eenmaal geverifieerd, kan de client bestandsbewerkingen uitvoeren, zoals het uploaden, downloaden, hernoemen, verwijderen en veilig beheren van mapstructuren via de SSH-verbinding. SFTP-clients en -servers authenticeren doorgaans met behulp van gebruikersnaam/wachtwoordgegevens of SSH-sleutelparen voor verbeterde beveiliging.
Het protocol dat voor SFTP wordt gebruikt, is SSH, met name het SSH File Transfer Protocol (SFTP). SSH biedt een veilig kanaal over een onbeveiligd netwerk, waarbij gegevens worden gecodeerd om ongeoorloofde toegang en onderschepping te voorkomen. SFTP maakt gebruik van dit beveiligde kanaal om bestanden veilig over te dragen tussen de client en de server, waardoor gegevensbescherming wordt gegarandeerd.
Het belangrijkste verschil tussen FTP en SFTP ligt in de beveiliging. FTP verzendt gegevens in leesbare tekst, waardoor deze kwetsbaar zijn voor onderschepping en ongeautoriseerde toegang. SFTP versleutelt daarentegen zowel opdrachten als gegevens, waardoor een hoger beveiligingsniveau wordt geboden dat geschikt is voor gevoelige bestandsoverdrachten. SFTP is ook firewallvriendelijk, omdat het doorgaans één enkele poort gebruikt (meestal TCP-poort 22) voor zowel commando- als gegevensoverdracht, waardoor de netwerkconfiguratie wordt vereenvoudigd en de beveiliging wordt verbeterd.
Voorbeelden van implementaties van Secure File Transfer Protocol (SFTP) zijn onder meer OpenSSH, dat een SFTP-server en clientfunctionaliteit omvat, en commerciële SFTP-serversoftware zoals Bitvise SSH Server, Titan SFTP Server en SSH.com’s Tectia SSH Server. Deze tools bieden robuuste versleuteling, authenticatiemechanismen en beheerfuncties voor veilige bestandsoverdracht in verschillende organisatorische omgevingen.