Как безопасно передавать файлы с помощью SFTP

Введение

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

Git хорошо работает для кода и текста, но не подходит для двоичных файлов и требует настройки репозитория.

Итак, какое хорошее решение для отправки файлов непосредственно между компьютерами? SFTP.

SFTP — это безопасный протокол передачи файлов, который использует SSH для отправки файлов между компьютерами.

Он зашифрован и прямолинеен.

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

Прежде чем идти дальше, вам нужно настроить SSH-ключи для машин, с которыми вы хотите работать.

Если вы не знаете, как это сделать, ознакомьтесь с нашим руководством по настройке аутентификации на основе SSH-ключа.

Недостатки FTP

FTP отстой. Об этом нет спору.

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

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

Что делает все это особенно плохим, так это то, что целью FTP является передача файлов.

Это означает, что уже созданы механизмы для злоумышленника для загрузки и выполнения вредоносного кода на вашем компьютере.

Если возможно, избегайте FTP.

Соединение

Синтаксис SFTP очень похож на SSH.

Подключение к серверу не очень отличается с использованием SFTP, чем с SSH.

$ sftp username@192.168
.1.1

Это установит соединение и перенесет вас в модифицированную оболочку SFTP.

Возможно, вам понадобится использовать другой порт для SSH / SFTP.

В этом случае укажите его с помощью флага -P.

$ sftp -P 35000 username@192.168.1.1 

Отправка файлов

Из оболочки SFTP вы можете использовать встроенные команды SFTP для отправки и получения файлов.

Команды для любого направления похожи на синтаксис cp.

Чтобы отправить файл, используйте команду put.

put возьмет локальный файл и поместит его в текущий рабочий каталог удаленной машины.

sftp> put localfile

Локальный файл будет перенесен в ваш текущий каталог.

Папки схожи.

Как и c cp, вы можете использовать флаг -r для копирования каталога и его содержимого.

sftp> put -r localdir 

Получение файлов

Вытягивание файлов почти одинаково с командой get.

В этом случае оно не зависит от вашего текущего каталога.

Вы можете указать путь к файлу для копирования и местоположение, в которое вы хотите скопировать его.

sftp> get remotefile

Эта команда просто получит файл и поместит его в ваш текущий каталог.

 sftp> get remotefile /path/to/localfile 

Вышеупомянутый файл получит тот же удаленный файл и поместит его в конкретный локальный каталог.

Вы также можете использовать флаг -r, чтобы скопировать весь каталог.

sftp> get -r /path/do/remotedir path/to/localdir

Если необходимо сохранить точные разрешения каталога, добавьте флаг -P.

sftp> get -Pr /path/do/remotedir path/to/localdir

Заключительные мысли

Еще раз,видна простота командной строки.

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

Даже при этом SFTP обеспечивает простой, чистый и безопасный способ передачи файлов.

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

cryptoparty

Cryptography is typically bypassed, not penetrated.

Как безопасно передавать файлы с помощью SFTP: 2 комментария

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

5e7fa976b0640d40