Передача файлов по SFTP
Как загружать и забирать файлы с машины через WinSCP, FileZilla, встроенный клиент sftp и проводник macOS, не путая SFTP с обычным FTP.
Обновлено 23 августа 2026 г.
SFTP — это передача файлов поверх того же соединения SSH. Отдельный сервер поднимать не нужно: если работает ssh, работает и SFTP.
Подключение в графическом клиенте
Параметры одинаковы для WinSCP, FileZilla, Cyberduck:
| Поле | Значение |
|---|---|
| Протокол | SFTP (не FTP и не FTPS) |
| Хост | адрес машины из вкладки «Обзор» |
| Порт | 22 |
| Пользователь | root или ваш пользователь |
| Пароль | пароль root из вкладки «Доступ» |
| Ключ | путь к закрытому ключу, если вход по паролю отключён |
WinSCP принимает ключ только в формате .ppk — конвертация описана в статье про PuTTY. FileZilla читает и обычный ключ OpenSSH.
Порт 21 и «обычный FTP» на машине не работают и поднимать их не нужно: FTP передаёт пароль открытым текстом. Всегда выбирайте SFTP.
Клиент в командной строке
Встроен в Windows, macOS и Linux:
sftp root@203.0.113.10
Внутри доступны простые команды:
ls
cd /var/www
lcd C:\work
put index.html
put -r ./site
get /var/log/nginx/error.log
bye
put отправляет на машину, get забирает к себе, команды с l в начале (lcd, lls) работают с вашим компьютером.
Если вы завели файл ~/.ssh/config, достаточно sftp vds.
macOS и Linux в файловом менеджере
В Finder: Переход → Подключение к серверу → sftp://root@203.0.113.10. В GNOME Files адрес вводится в строке «Другие места». Каталог машины откроется как сетевая папка.
Для постоянной работы удобнее подключить каталог как локальный:
sshfs root@203.0.113.10:/var/www /mnt/vds
Куда класть файлы
| Что | Куда |
|---|---|
| Сайт | /var/www/<домен> |
| Приложение или бот | /opt/<имя> |
| Личные файлы | домашний каталог пользователя |
| Временное | /tmp (очищается при перезагрузке) |
После загрузки часто нужно выставить владельца, иначе веб-сервер получит 403:
chown -R www-data:www-data /var/www/example.com
chmod -R 755 /var/www/example.com
Частые ошибки
| Симптом | Причина |
|---|---|
Permission denied при записи | Каталог принадлежит другому пользователю, а вы зашли не под root |
| Клиент не подключается, а SSH работает | В настройках выбран FTP вместо SFTP или порт 21 |
| Загрузилось, но сайт не видит файлы | Не тот каталог или не выставлен владелец |
| Обрывы на больших файлах | Включите keepalive в клиенте, для крупных заливок используйте rsync — он умеет докачивать |
| Русские имена файлов ломаются | Установите кодировку UTF-8 в настройках клиента |
Когда SFTP не лучший выбор
Для сотен мелких файлов и повторных выкладок быстрее rsync: он передаёт только изменения. Для одного файла проще scp. Обе команды разобраны в статье scp и rsync.