FTP срещу SFTP
FTP (File Transfer Protocol) е протокол, използван за прехвърляне на файлове между хостове в интернет (или други TCP базирани мрежи). Това е протокол, базиран на модела клиент-сървър. FTP сървърът съхранява файловете и базите данни, които са необходими за предоставяне на заявените от клиентите услуги. Най-често FTP сървърът е високо захранвано устройство, което е в състояние да обработва няколко клиентски заявки едновременно. FTP клиентът обикновено е персонален компютър, използван от крайния потребител или мобилно устройство, който работи с необходимия софтуер, който може да изисква и получава файлове през интернет от FTP сървър. FTP поддържа отделни връзки между клиента и сървъра за прехвърляне на контролната информация и данни. През това време FTP клиентските приложения са се развили от приложения за команден ред до приложения с графични потребителски интерфейси. SFTP (Secure File Transfer Protocol) е протокол, използван за прехвърляне на файлове по защитен канал. Той е разработен като разширение на протокола за сигурна обвивка (SSH) от Internet Engineering Task Force (IETF). SFTP приема, че каналът, използван за комуникация, е защитен и че клиентът е удостоверен от сървъра и информацията за клиента е достъпна за използването на протокола.
Какво е FTP?
FTP е протокол, използван за прехвърляне на файлове през интернет. Текущата спецификация на FTP се съдържа в RFC 959. Този протокол работи на приложния слой. Както бе споменато по-рано, FTP поддържа две връзки за прехвърляне на контролна информация и данни. FTP протоколът работи по следния начин. FTP сървърът слуша за входящи заявки от клиентите. Клиент, който иска да комуникира със сървъра, може да направи това през порт 21 и той се нарича контролна връзка. Контролната връзка се отваря през цялата продължителност на цялата сесия и се използва за предаване на информация за администрацията. След това втора връзка се отваря от FTP сървъра през порт 20 с комуникирания клиент и тази връзка се нарича връзка за данни. Файловете се прехвърлят чрез връзката за данни и текущият трансфер може да бъде спрян чрез изпращане на сигнал за прекъсване през контролната връзка.
Какво е SFTP?
SFTP е протокол, използван за прехвърляне на файлове по защитен канал. SFTP се основава и на архитектурата клиент-сървър. Широко известен SFTP сървър е OpenSSH и клиентите SFTP се реализират като програми за команден ред (както се предлага с OpenSSH) или GUI приложения. SFTP предоставя криптиране както за прехвърлени данни, така и за команди, осигуряващи безопасност на чувствителна информация като пароли. Освен това, качените файлове, използващи SFTP, са свързани с файлови атрибути като времева марка, което не е възможно с FTP. SFTP не е само протокол за достъп и прехвърляне на файлове, всъщност е протокол на файловата система.
Каква е разликата между FTP и SFTP?
SFTP предоставя защитен механизъм за прехвърляне на файлове през интернет. SFTP предоставя механизъм за криптиране на данни и команди, които се прехвърлят между клиента и сървъра, докато информацията, прехвърлена между клиента и сървъра под FTP, е в обикновен текст. Освен това, качените файлове, използващи SFTP, са свързани с файлови атрибути като времева марка, което не е възможно с FTP. Въпреки че SFTP предлага подобна (по-сигурна) функционалност като FTP, поради основните разлики в протоколите, FTP клиентът не може да се използва за комуникация със SFTP сървър и SFTP клиентът не може да се използва за комуникация с FTP сървър.