Отдельный FTP-сервер ставить не нужно: файлы передаются по тому же SSH — протоколу SFTP. Работают те же логины, ключи и порт.
scp — скопировать один раз
$ scp ./site.zip root@203.0.113.10:/var/www/$ scp -r root@203.0.113.10:/var/www/site ./backupЕсли SSH на другом порту, у scp флаг большой буквой: scp -P 2222.
rsync — синхронизация больших папок
rsync передаёт только изменившиеся файлы и умеет продолжать прерванную передачу. Он должен быть установлен на обеих сторонах (apt install -y rsync).
$ rsync -avzP ./site/ root@203.0.113.10:/var/www/site/- -a сохраняет права, даты и символьные ссылки; -z сжимает; -P показывает прогресс и докачивает.
- Слеш в конце источника важен: ./site/ копирует содержимое папки, ./site — саму папку внутрь назначения.
- Флаг --dry-run показывает, что будет сделано, ничего не меняя. Используйте его перед --delete.
- Нестандартный порт: rsync -avzP -e "ssh -p 2222" ...
Графические клиенты
- 01FileZilla (Windows, macOS, Linux): Файл → Менеджер сайтов → Новый сайт. Протокол — SFTP, хост — IP сервера, порт — 22, пользователь и пароль. Для входа по ключу выберите тип входа «Файл с ключом».
- 02WinSCP (Windows): протокол SFTP, хост, порт, пользователь. Ключ указывается в «Ещё… → SSH → Аутентификация»; WinSCP сам предложит сконвертировать ключ OpenSSH в .ppk.
- 03Cyberduck (macOS, Windows): «Новое подключение», тип — SFTP.
Права после загрузки
Файлы, загруженные под root, принадлежат root. Веб-серверу обычно нужен владелец www-data:
$ chown -R www-data:www-data /var/www/site