FTP и SSH - это сетевые протоколы, которые работают поверх TCP/IP, на подобие HTTP. Проще говоря, это определённый способ общения между собой по сети для различных устройств.

Различные способы общения используются в разных случаях. Есть различные возможности использования и различные подводные камни. Но как именно связаные друг с другом протоколы SSH и FTP, неясно большинству.

"Оболочка" и учётная запись "оболочки"

Давайте попробуем разобраться с некоторой базовой терминологией. Что бы понять назначение SSH, необходимо знать некоторые базовые элементы.

Shell (оболочка) компьютера, является частью программного обеспечения, которое позволяет пользователю напрямую взаимодействовать с ядром различных операционных систем. "Оболочка" может иметь графический интерфейс и/или интерфейс командной строки (т.н. консоль).

Учётная запись в оболочке, является личной учётной записью, которая предоставляет пользователю доступ к оболочке на другом компьютере. Раньше они были обычным явлением и поставлялись провайдерами Интернет-услуг, которые использовались для хранения файлов, учетных записей электронной почты, групп новостей и многого другого. Общим знаменателем является то, что учетная запись оболочки используется для ввода команд на удаленном компьютере.

Протокол защищённой оболочки (SSH - Secure Shell Protocol)

На подобии веб-браузеров использует протокол HTTP для общения с веб-сайтами, для учетной записи оболочки требуется определенный протокол, позволяющий осуществлять обмен данными между двумя сетевыми устройствами. Этот протокол называется SSH -  Secure Shell Protocol.

SSH использует шифрование с открытым ключом и был разработан в качестве замены Telnet и других небезопасных протоколов. Две основные версии, SSH-1 и SSH-2, в настоящее время являются доминирующими протоколами для доступа к учетным записям оболочки.

В наши дни SSH используется для входа и выполнения кода на удаленных хостах, просмотра веб-страниц с использованием зашифрованных прокси-клиентов и передачи файлов.

Клиенты SSH доступны для всех основных операционных систем. Системы на основе Unix, включая Linux и Mac OS X, могут использовать OpenSSH. Также ознакомьтесь с сайтом OpenSSH для поиска альтернатив для систем Mac OS и Windows. PuTTY - один из самых известных клиентов SSH для Windows.

Протокол безопасной передачи файлов (SFTP) и FTP

Приложения для передачи файлов и VPN по умолчанию не используют шифрование (SSH), но используют SFTP - протокол передачи файлов SSH. Напомним, что SFTP - это не протокол FTP, работающий через SSH, а другой протокол передачи файлов, разработанный как расширение для SSH-2. SFTP всегда используется для передачи файлов по SSH, но на самом деле он спроектирован так, что его можно использовать в соответствии с другими протоколами.

Хоть это и не указано в документации для конечного пользователя, SFTP можно рассматривать как надежного родственника FTP. Последний передает все данные в виде простого текста. Таким образом, перехват пакетов может раскрыть важные и личные данные, включая ваше имя пользователя и пароль! SFTP, являясь расширением SSH-2, использует защиту с помощью открытого ключа. Это означает, что данные зашифрованы, когда они передаются, и потенциальные перехваты относительно бесполезны.

SFTP как таковой включен в большинство популярных пакетов FTP , хотя часто не имеет поддержки других функций SSH.

Я надеюсь, что вы узнали что-то из этой статьи. Если у вас есть какие-либо вопросы или предложения, отправляйтесь в раздел комментариев ниже!