11.5. Копирование файлов между Linux и Windows компьютерами с помощью SSH
Чтобы передавать файлы из Linux в Windows с использованием SSH, выберите одну из следующих опций:
PuTTY подходит для различных инструментов командной строки, чтобы работать с SSH сервером.
WinSCP очень похож на PuTTY, но включает графический интерфейс пользователя. Выберите для подходящий интерфейс, например, в стиле Explorer или Norton Commander.
Чтобы копировать файлы из Windows в Linux с помощью PuTTY, проделайте следующее (на Windows машине):
- Запустите PSCP.
- Введите имя хоста вашего SSH сервера.
- Введите имя пользователя и пароль для SSH сервера.
Чтобы подключится из Windows к Linux с помощью WinSCP, проделайте следующее (на Windows машине):
- Запустите WinSCP.
- Введите имя хоста вашего SSH сервера и имя пользователя.
- Нажмите Login и подтвердите последующее предупреждение.
- Перетащите любые файлы или каталоги из окна WinSCP.
В PuTTY и WinSCP вы должны принять отпечаток ключа SSH, когда вы входите в первый раз.
Как скопировать файл из windows в linux


Добро пожаловать! Меня зовут Григорьев Иван, я Full Stack Developer. В основном пишу на PHP (Nette, Laravel), Python (Django, DRF), Vue (Quasar Framework). Опыт профессиональной разработки более 10 лет.

Работаю в компании MACRO разработчиком. В свободное время оказываю консультации по разработке ПО.
Пишу о:
Копирование файлов Windows Linux (SCP)
Linux (SCP)» />
Сегодня короткая заметка об одном полезном иструменте под название SCP — утилита для копирования файлов в SSH сессии. Он доступен в Windows 10 как один из инструментов работы с SSH.
Копирование файла с компьютера Windows на удаленный компьютер Linux по SSH:
scp "C:\dir\file.zip" root@192.168.1.1:~/archives
file.zip будет скопирован в каталог archives в домашнем каталоге пользователя root
Можно копировать файлы используя маски в имени:
scp "C:\dir\*.zip" root@192.168.1.1:~/archives
все файлы c расширением zip будут скопированы в каталог archives в домашнем каталоге
С ключем -r можно рекурсивно скопировать файлы и каталоги в каталог назначения:
scp -r "C:\dir\" root@192.168.1.1:~/archives
все файлы и каталоги будут скопированы в каталог archives в домашнем каталоге
Копирование файла с удаленного компьютера Linux на компьютер Windows по SSH:
scp.exe root@192.168.1.1:~/archives/file.zip "C:\dir\"
Файл file.zip будет скопирован в каталог C:\dir
Как скопировать файл через SSH
В статье мы расскажем, как копировать файлы в Windows и Linux-системах, и покажем основные команды, с помощью которых происходит передача файлов по SSH.
В Linux и Windows-системах используют разные инструменты для копирования файлов по SSH.
В Linux для копирования данных по протоколу SSH используется утилита scp (Secure CoPy). Она входит в состав OpenSSH, поэтому для работы с утилитой устанавливать дополнительное ПО не нужно.
В Windows для загрузки файлов по SSH используется утилита pscp.exe. Её функционал схож с scp. Утилита входит в состав программы Putty (SSH-клиент для Windows). Putty не входит в стандартный набор Windows-программ, поэтому её нужно будет скачать с официального сайта.
Обратите внимание! Если файл, который вы хотите скопировать, уже существует на целевом хосте, при копировании он будет перезаписан.
Копирование файлов по SSH на Linux
Как скачать файл с сервера через SSH? На Linux копирование файлов по SSH делается с помощью команды scp. Команда может копировать файлы как с локального компьютера на удалённый сервер, так и с удалённого сервера на локальный компьютер.
Обратите внимание! Для подключения к удалённому серверу вам понадобится логин и пароль.
В общем виде команда выглядит так:
scp [опция] [источник] [получатель]
Как скопировать файл по SSH с локальной машины на удалённый сервер
Как загрузить файл на сервер по SSH? Для этой операции используется команда вида:
scp [путь к файлу] [имя пользователя]@[имя сервера/ip-адрес]:[путь к файлу]
Например, команда может выглядеть так:
scp /home/test.txt root@123.123.123.123:/directory
То есть файл test.txt будет скопирован на хост 123.123.123.123 в директорию «/directory».
Как скопировать файлы с удалённого сервера на локальный компьютер
При подключённом SSH скачать файл на локальный компьютер с удалённого сервера можно с помощью команды:
scp [имя пользователя]@[имя сервера/ip-адрес]:[путь к файлу] [путь к файлу]
scp root@123.123.123.123:/home/test.txt /directory
То есть файл test.txt будет загружен с сервера 123.123.123.123 на локальный компьютер в папку “/directory”.
Как скачать папку со всеми файлами и подпапками
При необходимости можно скачать папку со всеми файлами и подпапками, для этого используйте ключ -r:
scp -r [источник] [получатель]
Как подключиться к серверу по нестандартному порту
Если не указывать порт, команда подключается к серверу по стандартному 22 порту. Но бывает, что для подключения по SSH нужно указать нестандартный порт. Чтобы это сделать, введите команду с ключём -P:
scp -P [источник] [получатель]
Например, получится такая команда:
scp -P 12345 /home/test.txt root@123.123.123.123:/directory
Указанная команда подключается по порту 12345 к серверу 123.123.123.123 и копирует на него файл « text.txt » в директорию « /directory ».
Как передать и скачать файлы по SSH на Windows
Скопировать файл по SSH на сервер можно командой:
pscp [путь к файлу] [имя пользователя]@[имя сервера/ip-адрес]:[путь к файлу]
Чтобы скачать файл по SSH с сервера, используйте команду:
pscp [имя пользователя]@[имя сервера/ip-адрес]:[путь к файлу] [путь к файлу]
Увидеть список папок и файлов на сервере можно через pscp.exe. Для этого введите:
pscp -ls [имя пользователя]@[имя сервера/ip-адрес]:[путь]
Если в пути или в названии файла есть пробелы, используйте кавычки:
pscp “C:\files or docs\file name” root@123.123.123.123:/home
Популярные статьи
- Как указать (изменить) DNS-серверы для домена
- Я зарегистрировал домен, что дальше
- Как добавить запись типа A, AAAA, CNAME, MX, TXT, SRV для своего домена
- Что такое редирект: виды и возможности настройки
- Как создать почту со своим доменом
Как передать файл с linux на windows?
Подскажите, как передать файл с linux-машины на windows? Какие инструмены для этого задействовать? Гуглю уже день — как будто проблема эта требует какого-то нетривиального решения. Ничего не ясно.
Отслеживать
задан 21 авг 2018 в 6:51
29 1 1 золотой знак 1 1 серебряный знак 2 2 бронзовых знака
используйте утилиту Bitvise SSH Client
21 авг 2018 в 6:53
Неужели гугл не рассказывает про samba ?
21 авг 2018 в 7:04
Не совсем понял. Мне надо с Linux слать файлы в Windows, а все решения, которые я вижу предполагают запуск каких-то команд именно со стороны windows. Почему так?
21 авг 2018 в 7:09
То есть, переформулирую, линукс сервер должен заливать файлы на виндовс машину и инициатором скорее всего является какой то скрипт?
21 авг 2018 в 7:22
KoVadim — да, именно так. По крону запускает скрипт и должен кроме всего прочего класть файлы на Windows машину.
21 авг 2018 в 7:39
2 ответа 2
Сортировка: Сброс на вариант по умолчанию
FTP, Samba, SSH, RSYNC, SCP, WebDAV, Git. Смотря что вы делаете. Можно монтировать сетевые диски, передавать файлы по сети, использовать FTP/SFTP клиенты. Можно использовать облака.
Для синхронизации файлов при разработке обычно используют RSYNC/SSH.
Если это одна локальная сеть нужно/можно использовать Samba сервер и монтировать директории Linux в Windows как сетевые диски.
- Можно поднять FTP сервер на Linux и подключаться через клиента (например FileZilla ), но FTP это небезопасно.
- Можно использовать WinSCP и подключаться через SSH/SFTP.
- Можно использовать облака, типа Яндекс.Диск/Amazon (но это экзотика для простых задач).
- Можно использовать встроенные в IDE (например в PHP/WebStorm) утилиты
- Если это файлы публичного сервера, можно использовать CURL/Wget
В некоторых SSH-клиентах есть возможность передачи файла через обычный интерфейс.
Linux to Windows
Как вы понимаете, это не тривиальная задача. Системы аутентификации Linux и Windows разные. Для передачи файлов в Windows, можно например: создать разделяемый (shared) ресурс и использовать sambaclient для передачи файлов, но зачем? Еще раз подумайте над вашей задачей, зачем нужно именно так? Можно создавать туннели, установить FTP/SSH сервер на Windows и т.д., но скорее всего, это совсем не нужно и излишне сложно. Пересмотрите саму идеологию работы в гетерогенных средах. Не пытайтесь воспроизводить windows-опыт в Linux. Удачи.