# Обмен файлами

Существует три основных способа обмена файлами с сервером на базе Linux.

### <mark style="color:orange;">SFTP</mark>

Это протокол на базе SSH (соответственно и на его порту), позволяющий открывать FTP-подобное соединение и без проблем загружать или скачивать файлы/папки.

Не требуется никаких дополнительных настроек, вам необходимо лишь найти подходящий клиент, например [Termius](https://termius.com/) (Windows, Linux, MacOS, Android, iOS) или [FileZilla](https://filezilla-project.org/) (Windows, MacOS).

### <mark style="color:orange;">SCP</mark>

Данный метод для тех, чьей основной машиной является Linux или MacOS. Это программа для удаленного копирования фалов по сети между хостами.

#### Загрузить файл на сервер

```bash
scp file.txt root@<IP>:/some/remote/directory
```

#### Скачать файл с сервера

```bash
scp root@<IP>:file.txt /some/local/directory
```

Кроме того, можно копировать между двумя удаленными серверами, а также не только файлы но и папки (работает с параметром `-r`); указав параметр `-P 22` можно напрямую задать порт; вместо домашней директории можно указать `.` (точку) и тогда копирование произойдет в текущий каталог; с параметром `-c blowfish` вы снизите безопасность соединения но увеличите производительность.

### <mark style="color:orange;">HTTP server</mark>

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

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

```bash
python3 -m http.server
```

Теперь при переходе в браузере по http\://\<IP>:8000 вы обнаружите, что доступ ко всем вашим файлам открыт для всех.

В простонародье подобное прозвали «опендирами» (от фразы open directory).
