Передача файлов с Linux на Windows через PuTTY — задача, которую решают с помощью встроенных инструментов протокола SSH. Самый быстрый способ — использовать pscp (PuTTY Secure Copy) или sftp через PuTTY. Это не требует установки дополнительных программ на сервер, если у вас уже есть доступ по SSH.

В этой статье разберём три проверенных метода: передачу через pscp, sftp в командной строке и графический интерфейс WinSCP. Покажем пошаговые действия, нюансы настройки и типичные ошибки, которые могут возникнуть. Начнём с самого простого — утилиты pscp.

Почему подходит для передачи файлов

PuTTY — это не только SSH-клиент для подключения к удалённым серверам, но и набор утилит для работы с файлами по протоколам и SFTP. В отличие от стандартных инструментов Windows, pscp и psftp (входят в состав PuTTY) не требуют настройки дополнительных сервисов на сервере Linux — достаточно работающего SSH-сервера.

Основные преимущества:

  • Безопасность — данные передаются в зашифрованном виде по тому же каналу, что и SSH.
  • Простота — нет необходимости устанавливать FTP-сервер или настраивать общие папки.
  • Скорость — и оптимизированы для передачи файлов по сети.
💡

Перед началом убедитесь, что у вас есть логин и пароль от SSH-сервера на Linux, а также IP-адрес или доменное имя сервера. Без этого передача файлов невозможна.

Если вы уже подключаетесь к серверу через PuTTY для управления, то передача файлов не вызовет сложностей — используйте те же данные для аутентификации.

МетодПлюсыМинусыСложность
pscpБыстрая передача одного файла или папки, минимальные настройкиНет графического интерфейса, неудобно для масштабных операцийНизкая
psftpИнтерактивный режим, возможность работы с несколькими файламиТребует знания команд, нет визуализацииСредняя
WinSCP + PuTTYГрафический интерфейс, удобно для больших объёмовТребует установки дополнительного ПОНизкая

Сравнение методов передачи файлов через PuTTY

Не все методы одинаково удобны для разных задач. В таблице ниже — сравнение основных способов передачи файлов с Linux на Windows с использованием инструментов PuTTY.

Для разовой передачи небольшого файла подойдёт pscp. Если нужно скопировать десятки файлов или целые каталоги, удобнее использовать WinSCP. А psftp пригодится, если вы предпочитаете работать в командной строке, но хотите больше контроля над процессом.

Подготовка к передаче файлов

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

  • Установите и сопутствующие утилиты. Скачайте архив с официального сайта PuTTY и распакуйте его в удобную папку (например, C:\Program Files\PuTTY). В архиве вы найдёте putty.exe, pscp.exe и psftp.exe.
  • Проверьте доступ по SSH. Убедитесь, что вы можете подключиться к серверу Linux через PuTTY с теми же учётными данными, которые планируете использовать для передачи файлов.
  • Узнайте путь к файлу на Linux. Используйте команду pwd в терминале Linux, чтобы узнать текущий каталог, или ls, чтобы увидеть список файлов.

Если вы работаете с сервером, на котором включена аутентификация по ключам, убедитесь, что ваш закрытый ключ (.ppk) находится в папке с PuTTY или укажите к нему путь при выполнении команд.

Передача файлов через pscp

pscp — это консольная утилита для копирования файлов по протоколу SCP (Secure Copy Protocol). Она входит в комплект PuTTY и работает из командной строки Windows.

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

  1. Откройте командную строку Windows (cmd).
  2. Перейдите в папку, куда нужно сохранить файл, например: cd C:\Users\YourName\Downloads.
  3. Выполните команду: pscp username@server_ip:/путь/к/файлу/на/linux C:\путь\к\папке\на\windows Пример: pscp admin@192.168.1.100:/home/admin/report.txt C:\Users\YourName\Downloads
⚠️ Внимание: Если в пути к файлу есть пробелы, оберните его в кавычки: pscp admin@192.168.1.100:"/home/admin/my folder/report.txt" "C:\My Folder\Downloads"

После выполнения команды утилита запросит пароль от SSH. Введите его — и файл будет скопирован. Если вы используете аутентификацию по ключам, добавьте параметр -i с путем к закрытому ключу: pscp -i C:\keys\private.ppk admin@192.168.1.100:/home/admin/report.txt C:\Downloads.

Какой метод передачи файлов вы используете чаще всего?
SCP
SFTP
WinSCP
FTP

Сравнение и для передачи данных

Хотя оба инстрюмента входят в комплект PuTTY, они решают немного разные задачи. В таблице ниже — ключевые отличия.

Критерийpscppsftp
Тип протоколаSCP (Secure Copy Protocol)SFTP (SSH File Transfer Protocol)
Режим работыКопирование файлов (одно действие)Интерактивная сессия (много команд)
Поддержка каталоговДа (с ключом -r)Да
Скорость передачиВыше для больших файловЗависит от сервера
Удобство для множества файловНизкоеВысокое

pscp удобен для разовых операций, когда нужно скопировать один файл или папку. psftp подходит для работы с множеством файлов в рамках одной сессии — вы можете перемещаться по каталогам, загружать и скачивать файлы, как в обычном FTP-клиенте.

Работа с для передачи файлов

Если вам нужно больше контроля над процессом передачи, используйте psftp. Это интерактивный SFTP-клиент, который позволяет работать с файлами на удалённом сервере так же, как в локальной файловой системе.

Для начала работы:

  1. Откройте командную строку Windows.
  2. Запустите psftp с указанием пользователя и сервера: psftp username@server_ip.
  3. Введите пароль при запросе.

После подключения вы окажетесь в интерактивном режиме. Основные команды:

  • ls — список файлов в текущем каталоге на сервере.
  • cd — смена каталога на сервере.
  • lcd — смена локального каталога на Windows.
  • get filename — скачать файл с сервера на Windows.
  • put filename — загрузить файл с Windows на сервер (обратная операция).
  • exit — завершить сессию.

Для передачи файла с Linux на Windows используйте команду get в psftp. Например: get /home/admin/report.txt скопирует файл в текущий локальный каталог.

Использование для удобной передачи файлов

Если командная строка кажется неудобной, используйте WinSCP. Это графический клиент для передачи файлов по SFTP, и FTP, который интегрируется с PuTTY.

Для настройки соединения:

  1. Скачайте и установите WinSCP с официального сайта.
  2. При первом запуске выберите протокол SFTP или SCP.
  3. Укажите IP-адрес сервера, имя пользователя и пароль (или путь к закрытому ключу).
  4. Нажмите «Войти».

После подключения вы увидите два окна: слева — локальные файлы на Windows, справа — файлы на Linux. Перетаскивайте файлы мышью для передачи в нужном направлении.

Как настроить интеграцию с PuTTY в WinSCP

В WinSCP перейдите в меню Настройки → Интеграция → PuTTY. Укажите путь к putty.exe и выберите опцию «Использовать для SSH-туннелей». Теперь вы сможете открывать SSH-сессии прямо из WinSCP.

Практические советы и частые ошибки

При передаче файлов через PuTTY пользователи часто сталкиваются с типовыми проблемами. Вот как их избежать:

Чек-лист перед передачей файлов

Выполнено: 0 / 5

Если при выполнении pscp или psftp вы получаете ошибку «Connection refused», проверьте:

  • Работает ли SSH-сервер на Linux (команда sudo systemctl start ssh).
  • Открыт ли порт 22 в фаерволе (sudo ufw status).
  • Правильно ли указан IP-адрес или доменное имя сервера.

Если ошибка «Permission denied», убедитесь, что у вас есть права на чтение файла на Linux и что вы используете правильные учётные данные.

Часто задаваемые вопросы

Можно ли передавать папки целиком через pscp?

Да, для этого используйте ключ -r (рекурсивное копирование). Пример: pscp -r username@server_ip:/путь/к/папке C:\путь\на\windows.

Почему просит пароль, хотя я настроил ключи?

Вероятно, вы не указали путь к закрытому ключу. Используйте параметр -i: pscp -i C:\keys\private.ppk username@server_ip:/файл C:\папка. Убедитесь, что ключ в формате .ppk (а не .pem).

Как ускорить передачу файлов через PuTTY?

Используйте архивацию перед передачей (например, tar -czf archive.tar.gz папка на Linux), чтобы уменьшить объём данных. Также проверьте скорость сети — если сервер находится далеко, передача может быть медленной.

Можно ли использовать для передачи файлов с на Linux?

Да, просто поменяйте местами локальный и удалённый пути. Пример для pscp: pscp C:\путь\к\файлу username@server_ip:/путь/на/linux.