Часто возникает вопрос, при настройке и эксплуатации различных дистрибутивов ОС, как передать безопасно файлы по сети? Скажем сразу, что протоколов большое множество, но на наш взгляд, одним из эффективных и удобных является SFTP!
Достаточно, удобен в использовании, так как предлагает интерактивный шелл для работы с файловой системой и набором базовых команд!
Что такое SFTP?
SFTP или же Secure File Transfer Protocol, протокол, который используется для зашифрованной передачи данных, поддерживающий аутентификацию пользователя и часто в заранее предустановлен на многих дистрибутивах. Так как технически он реализован в SSH-сервисе, то настройка пользователей и способов аутентификации, абсолютно идентична.
После того, как вы обменялись публичными ключами шифрования или же создали нового пользователя с паролем необходимо перейти, к установке сервиса, если у вас он еще не был инсталлирован.
Установка и управление файлами через SFTP
Обычно достаточно установки openssh-server, так как остальные пакеты докачиваются зависимостями:
Для Windows будет аналогично, можно найти файл на сайте разработчиков, но лучше воспользоваться проверенными репозиториями и установить через команду:
После чего для подключения к SFTP-серверу необходимо прописать команду c синтаксисом:
Просмотрим возможный функционал утилиты и рассмотри на практическом примере реализацию функций:
Для начала необходимо просмотреть в каких директориях мы находимся на удаленной ОС и локально. К сожалению, SFTP не поддерживает возможности выполнения более одной команды за раз, поэтому выполняться они будут по-раздельности:
После чего можем просмотреть список файлов на удаленном и локальном устройстве:
К примеру, нам необходимо перенести на удаленное устройство файл t.txt, для этого пропишем:
Такой же подход можно использовать и для команд, тогда будет необходимо добавить опцию -R в начало для рекурсивного копирования данных. Скачать же с удаленного устройства файлы можно такой же простой командой:
Так как сессии являются интерактивными оболочками, то в процессе работы могу возникнуть потребности в использовании локальной ОС на время, не выходя из сессии:
Если хотим открыть полноценный shell, то используем команду:
А для выхода из нее q или exit. После чего для Windows откроется cmd, а для Linux стандартно указанный shell пользователя.
Данный набор базовых команд позволит защищено передавать файлы между устройствами. Настройка достаточно проста, так как протокол и серверная часть уже имплементированы в пакет загрузки и подгружаются зависимостью до машины.