Зачем рассматривать настройку службы FTP на сервере, если передача файлов работает нормально через SSH (с Midnight Commander на Lunux и FileZilla на клиенте Windows)? Каковы плюсы и минусы обоих? Кроме того, FTP более широко поддерживается различными клиентами.
SSH гораздо более терпим к устройствам сетевой безопасности, таким как брандмауэры и тому подобное. Как известно, FTP сложно использовать с брандмауэром и обычно требует, чтобы одна конечная точка имела реальные IP-адреса (то есть без NAT).
SSH лучше справляется с NAT. Фактически, оба конца могут быть за NAT, что обычно невозможно без большого количества лома с FTP.
FTP обычно быстрее из-за мертвой простоты протокола, хотя правильные версии SFTP могут приблизиться к этому уровню скорости.
Поддержка FTP встроена в большинство современных браузеров, но, насколько мне известно, ни в одном из них нет SSH. Однако могут быть плагины, которые это исправляют.
SSH намного безопаснее, что позволяет выполнять аутентификацию пользователя. FTP поддерживает это, но делает это через открытый текст, что противоречит большинству разумных политик безопасности.
Единственная причина использовать FTP - это общий доступ к файлам. Такие вещи, как репозитории исходных кодов ядра Linux.
FTP не зашифрован. SSH зашифрован. SSH разрешает удаленный доступ к оболочке, а также передачу файлов, тогда как FTP разрешает только передачу файлов. Любые данные, передаваемые по незашифрованному протоколу, имеют необычный риск перехвата, который может поставить под угрозу как доступ к вашей системе, так и передаваемые данные.
Одно из основных приложений FTP в настоящее время - это общедоступный анонимный файловый сервер. Отчасти я бы отнес это за счет общности и простоты протокола. Более того, незашифрованная передача имеет меньше накладных расходов, чем зашифрованная передача, что обеспечивает более быструю передачу.
FTP для аутентификации пользователей не рекомендуется и не рекомендуется, так как он подвергает риску данные аутентификации вашей системы.