Передача файлов с 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 используйте команду:
- Откройте командную строку Windows (
cmd). - Перейдите в папку, куда нужно сохранить файл, например:
cd C:\Users\YourName\Downloads. - Выполните команду:
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.
Сравнение и для передачи данных
Хотя оба инстрюмента входят в комплект PuTTY, они решают немного разные задачи. В таблице ниже — ключевые отличия.
| Критерий | pscp | psftp |
|---|---|---|
| Тип протокола | SCP (Secure Copy Protocol) | SFTP (SSH File Transfer Protocol) |
| Режим работы | Копирование файлов (одно действие) | Интерактивная сессия (много команд) |
| Поддержка каталогов | Да (с ключом -r) | Да |
| Скорость передачи | Выше для больших файлов | Зависит от сервера |
| Удобство для множества файлов | Низкое | Высокое |
pscp удобен для разовых операций, когда нужно скопировать один файл или папку. psftp подходит для работы с множеством файлов в рамках одной сессии — вы можете перемещаться по каталогам, загружать и скачивать файлы, как в обычном FTP-клиенте.
Работа с для передачи файлов
Если вам нужно больше контроля над процессом передачи, используйте psftp. Это интерактивный SFTP-клиент, который позволяет работать с файлами на удалённом сервере так же, как в локальной файловой системе.
Для начала работы:
- Откройте командную строку Windows.
- Запустите
psftpс указанием пользователя и сервера:psftp username@server_ip. - Введите пароль при запросе.
После подключения вы окажетесь в интерактивном режиме. Основные команды:
ls— список файлов в текущем каталоге на сервере.cd— смена каталога на сервере.lcd— смена локального каталога на Windows.get filename— скачать файл с сервера на Windows.put filename— загрузить файл с Windows на сервер (обратная операция).exit— завершить сессию.
Для передачи файла с Linux на Windows используйте команду get в psftp. Например: get /home/admin/report.txt скопирует файл в текущий локальный каталог.
Использование для удобной передачи файлов
Если командная строка кажется неудобной, используйте WinSCP. Это графический клиент для передачи файлов по SFTP, и FTP, который интегрируется с PuTTY.
Для настройки соединения:
- Скачайте и установите WinSCP с официального сайта.
- При первом запуске выберите протокол
SFTPилиSCP. - Укажите IP-адрес сервера, имя пользователя и пароль (или путь к закрытому ключу).
- Нажмите «Войти».
После подключения вы увидите два окна: слева — локальные файлы на Windows, справа — файлы на Linux. Перетаскивайте файлы мышью для передачи в нужном направлении.
Как настроить интеграцию с PuTTY в WinSCP
В WinSCP перейдите в меню Настройки → Интеграция → PuTTY. Укажите путь к putty.exe и выберите опцию «Использовать для SSH-туннелей». Теперь вы сможете открывать SSH-сессии прямо из WinSCP.
Практические советы и частые ошибки
При передаче файлов через PuTTY пользователи часто сталкиваются с типовыми проблемами. Вот как их избежать:
Чек-лист перед передачей файлов
Если при выполнении 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.