Как использовать SFTP для безопасной передачи файлов на сервер

Передача файлов между локальным компьютером и удалённым сервером это одна из основных задач для администраторов и разработчиков. Простой способ сделать это безопасно это использовать SFTP (Secure File Transfer Protocol), который работает поверх SSH. В этой статье мы подробно разберём, как настроить SFTP, подключаться к серверу и управлять файлами с примерами команд.

Что такое SFTP

SFTP - это безопасная версия FTP, которая использует шифрование SSH для передачи данных. В отличие от обычного FTP, SFTP защищает ваши логины, пароли и файлы от перехвата. Этот протокол особенно полезен при работе с серверами в облаке или VPS.

Подготовка к работе

Перед тем как начать, убедитесь, что у вас есть:

  1. Доступ к серверу по SSH (логин и пароль или приватный ключ).

  2. Установленный SSH-клиент. В Ubuntu он обычно уже есть по умолчанию.

Проверить наличие клиента можно командой:

ssh -V

Пример вывода:

OpenSSH_9.3p1 Ubuntu-22.04, OpenSSL 3.1.2  10 Sep 2023

Если SSH не установлен, установите его:

sudo apt update
sudo apt install openssh-client

На сервере должен быть запущен SSH-сервис:

sudo systemctl status ssh

Пример вывода, если сервис активен:

● ssh.service - OpenBSD Secure Shell server
     Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
     Active: active (running) since Mon 2026-02-03 08:00:00 UTC; 1h 2min ago

Подключение к серверу через SFTP

Для подключения используйте команду:

sftp username@server_ip

Например:

sftp jimmy@192.168.1.100

Вывод может быть следующим:

The authenticity of host '192.168.1.100 (192.168.1.100)' can't be established.
ECDSA key fingerprint is SHA256:ABC123xyz...
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.100' (ECDSA) to the list of known hosts.
jimmy@192.168.1.100's password: 
sftp>

Теперь вы находитесь в интерактивной среде SFTP.

Основные команды SFTP

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

Просмотр содержимого

ls

Вывод:

documents
downloads
projects

Переход в каталог

cd projects

Проверка текущей директории:

pwd

Вывод:

Remote working directory: /home/jimmy/projects

Загрузка файлов на сервер

put local_file.txt

Пример:

put report.pdf

Вывод:

Uploading report.pdf to /home/jimmy/projects/report.pdf
report.pdf       100%   2MB   1.2MB/s   00:01

Скачивание файлов с сервера

get remote_file.txt

Пример:

get backup.tar.gz

Вывод:

Fetching /home/jimmy/projects/backup.tar.gz to backup.tar.gz
backup.tar.gz       100%   5MB   2.3MB/s   00:02

Создание и удаление каталогов

Создание:

mkdir new_folder

Удаление:

rmdir old_folder

Копирование нескольких файлов

Для загрузки всех файлов из каталога:

mput *.txt

Для скачивания всех файлов:

mget *.log

Завершение работы

Чтобы выйти из SFTP:

exit

Использование ключей SSH для аутентификации

Для повышения безопасности лучше использовать ключи SSH вместо пароля.

Создаём ключ на локальной машине:

ssh-keygen -t ed25519 -C "your_email@example.com"

Вывод:

Generating public/private ed25519 key pair.
Enter file in which to save the key (/home/jimmy/.ssh/id_ed25519): [Press Enter]
Enter passphrase (empty for no passphrase): [Type a passphrase]

Копируем публичный ключ на сервер:

ssh-copy-id jimmy@192.168.1.100

Вывод:

/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/jimmy/.ssh/id_ed25519.pub"
Number of key(s) added: 1
Now try logging into the machine, with:   "ssh 'jimmy@192.168.1.100'"

Теперь при подключении SFTP пароль больше не требуется:

sftp jimmy@192.168.1.100

Советы по безопасности

  • Всегда используйте сильные пароли или SSH-ключи.

  • Не открывайте SFTP на стандартном порту 22, если это возможно вместо этого используйте нестандартный.

  • Ограничивайте доступ к серверу по IP, если сервер публичный.

  • Регулярно обновляйте OpenSSH на сервере.

Комментарии (0)

Войдите, чтобы оставить комментарий

Похожие статьи

jQuery 4.0: крупный релиз спустя почти десять лет

jQuery 4.0 вышла в январе 2026 года. Это первый крупный релиз за почти десять лет. Он обновляет библиотеку под современные стандарты, снимает поддержку старых браузеров, добавляет защиту через Trusted Types и делает код легче и безопаснее.

39 0 1 мин

Как создать новый проект на Laravel: подробное руководство для начинающих

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

49 0 1 мин