Как скачать файл с linux на windows по ssh

Ответы на часто задаваемые вопросы.

В статье мы расскажем, как передать файлы через SSH на разных операционных системах — Windows и Linux.

  1. Что нужно для подключения
  2. Как скопировать файл через SSH на Linux
    • Как отправить файл по SSH с локального компьютера на сервер
    • Как скачать файлы с удаленного сервера на компьютер
  3. Как скопировать файлы по SSH на Windows
    • Как загрузить файл с компьютера на сервер
    • Как скачать файл через SSH на локальный компьютер

Для подключения к серверу вам потребуются:

  • IP-адрес или имя сервера,
  • логин пользователя (в том числе root),
  • пароль пользователя,
  • порт.

Чаще всего копирование файлов через SSH делают с помощью двух мини-программ:

  1. scp (Secure Copy) — утилита для Linux. Она позволяет безопасно передать или скачать файл по протоколу SSH. Программа scp входит в комплект OpenSSH и не требует установки.
  2. pscp.exe — это утилита для Windows. Она используется по тому же назначению, что и scp: подключение к серверу по SSH и работа с файлами. Эта мини-программа входит в состав PuTTY: ее можно скачать на официальном сайте. Процедура настройки SSH-клиента описана в нашей статье.

Важно: если загружаемый файл существует на целевом хосте, он перезапишется.

Работа через SSH предполагает использование консольных команд. Наиболее популярные из них вы можете найти в статье.

Как скопировать файл через SSH на Linux

Копирование файлов по SSH на Linux можно сделать с помощью scp. Эта утилита позволяет:

  • передать файл с локального компьютера на удаленный сервер,
  • скачать файл с удаленного сервера на локальный компьютер.

Команда scp имеет следующий синтаксис:

scp опция источник получатель

Как отправить файл по SSH с локального компьютера на сервер

Чтобы загрузить файл:

  1. Подключитесь к серверу по SSH.
  2. Выполните команду:

scp /home/test.doc username@servername:/directory

Где:

  • /home/test.doc — путь к файлу на локальном компьютере;
  • username — имя SSH-пользователя;
  • servername — имя сервера или его IP-адрес;
  • directory — директория на сервере, в которую нужно загрузить файл.

Готово, вы загрузили файл на сервер.

Как скачать файлы с удаленного сервера на компьютер

Чтобы загрузить файл:

  1. Подключитесь к серверу по SSH.
  2. Выполните команду:

scp username@servername:/directory/test.doc /home

Где:

  • /directory/test.doc — путь к файлу на сервере;
  • username — имя SSH-пользователя;
  • servername — имя сервера или его IP-адрес;
  • home — папка на компьютере, в которую нужно загрузить файл.

Готово, вы скачали файл на компьютер.

Как скопировать файлы по SSH на Windows

Копирование через SSH на ОС Windows выполняется с помощью утилиты pscp.exe из набора PuTTY.

Как загрузить файл с компьютера на сервер

Чтобы загрузить файл:

  1. Подключитесь к серверу по SSH.
  2. Выполните команду:

pscp C:/documents/test.doc username@servername:/directory

Где:

  • /documents/test.doc — путь к файлу на локальном компьютере;
  • username — имя SSH-пользователя;
  • servername — имя сервера или его IP-адрес;
  • directory — директория на сервере, в которую нужно загрузить файл.

Если название файла или путь содержит пробелы, заключите его в кавычки:

pscp “C:/documents/test 1.doc” username@servername:/directory

Готово, вы загрузили файл на сервер.

Как скачать файл через SSH на локальный компьютер

Чтобы загрузить файл:

  1. Подключитесь к серверу по SSH.
  2. Выполните команду:

pscp username@servername:/directory/test.doc C:/documents

Где:

  • username — имя SSH-пользователя;
  • servername — имя сервера или его IP-адрес;
  • directory/test.doc — путь к файлу на сервере;
  • /documents — директория на локальном компьютере, в которую нужно загрузить файл.

Если название файла или путь содержит пробелы, заключите его в кавычки:

pscp username@servername:”/directory/test 1.doc” C:/documents

Готово, вы скачали файл на компьютер.

В статье мы расскажем, как копировать файлы в Windows и Linux-системах, и покажем основные команды, с помощью которых происходит передача файлов по SSH.

Для копирования файлов по SSH в Linux-системах и Windows используют разные инструменты:

  • scp (Secure CoPy) — утилита для безопасного копирования данных между Linux-системами по протоколу SSH. Она входит в состав OpenSSH, поэтому для работы с утилитой не нужно устанавливать дополнительное ПО;
  • pscp.exe — утилита для загрузки файлов по SSH в ОС Windows. Она обладает теми же возможностями, что и scp. Утилита входит в состав программы Putty — SSH-клиента для Windows. Скачать программу можно по ссылке.

Обратите внимание

Если файл, который вы хотите скопировать, уже существует на целевом хосте, при копировании он будет перезаписан.

Копирование файлов по SSH на Linux

Для 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».

Как скопировать файл по SSH с одного удалённого сервера на другой

Подключитесь по SSH к серверу, на котором расположен файл. Затем выполните команду:

scp [путь к файлу] [имя пользователя]@[имя сервера/ip-адрес]:[путь к файлу]

Пример команды:

scp /home/test.txt root@123.123.123.123:/directory

Файл test.txt будет скопирован на хост 123.123.123.123 в директорию «/directory».

Как скачать папку со всеми файлами и подпапками

Если вы хотите скачать папку со всеми файлами и подпапками, используйте ключ -r:

scp -r [источник] [получатель]

Как подключиться к серверу по нестандартному порту

Бывает, что для подключения по SSH нужно указать нестандартный порт. Без указания порта команда подключается к серверу по стандартному 22 порту. Чтобы указать нестандартный порт, введите команду с ключом -P:

scp -P [источник] [получатель]

Пример команды:

scp -P 12345 /home/test.txt root@123.123.123.123:/directory

Эта команда подключается по порту 12345 к серверу 123.123.123.123 и копирует на него файл «test.txt» с локального компьютера в директорию «/directory».

Как передать и скачать файлы по SSH на Windows

Скопировать файл по SSH на сервер можно командой:

pscp [путь к файлу] [имя пользователя]@[имя сервера/ip-адрес]:[путь к файлу]

Скачать файл по SSH с сервера командой:

pscp [имя пользователя]@[имя сервера/ip-адрес]:[путь к файлу] [путь к файлу]

Увидеть список папок и файлов на сервере можно через pscp.exe. Для этого введите:

pscp -ls [имя пользователя]@[имя сервера/ip-адрес]:[путь]

Если в пути или в названии файла есть пробелы, используйте кавычки:

pscp “C:files or docsfile name” root@123.123.123.123:/home

Что такое SSH

SSH (от англ. Secure Shell – безопасная оболочка) – это сетевой протокол для безопасной передачи данных и удаленного подключения к серверу.

Для чего нужен SSH:

  • для удаленного администрирования сервера или локальных сетей,
  • для защиты данных при управлении почтовыми службами,
  • для сжатия файлов при передачи больших объемов информации,
  • для переноса сайтов с одного хостинга на другой,
  • для безопасной передачи данных.

Распространенная ситуация использования SSH – загрузка сайта на сервер хостинг-провайдера.

Передача файлов по SSH и подключение с его помощью к серверу осуществляется системными администраторами. Для работы с протоколом потребуются навыки системного администрирования, так как при подключении с помощью SSH вы не увидите привычного рабочего стола компьютера и набора программ. Вам откроется черное окно – командная строка, сюда вводятся команды, которые требуется выполнить.

Как работает SSH

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

Для работы протокола использует открытый порт 22 (по умолчанию) и в случае успешной аутентификации предоставляет доступ администратору. Все запросы, которые вводятся на SSH-клиенте, проходят через защищенный канал связи и доставляются на SSH-сервер.

Чтобы начать передачу данных от клиента к серверу, необходимо установить SSH-соединение – защищенный туннель, по которому информация передается в зашифрованном виде.

Для шифрования используются публичный и частный ключ. Публичный – известен всем, частный – есть только у SSH-клиента и SSH-сервера. Авторизация проходит успешно, когда SSH-сервер получает публичный ключ, находит в своем списке разрешенных подключений клиента и отправляет ему информацию зашифрованную частный ключом. Если сервер получает обратно верную расшифровку, то клиент подключается к серверу. 

Отметим, что SSH-сервером может быть не только физический сервер, но и ноутбук или персональный компьютер.

Для установки SSH-соединения требуется специальная программа. Она должна быть установлена и на оборудовании, к которому планируют подключаться и на устройстве, с которого будет выполняться подключение.

Существуют платные и бесплатные SSH-серверы для популярных операционных систем:

  • для FreeBSD — OpenSSH:
  • для Unix-подобных OC — dropbear, lsh-server, openssh-server:
  • для Windows — freeSSHd, copssh, WinSSHD, OpenSSH и другие.

SSH-клиенты также разработаны для всех популярных десктопных и мобильных операционных систем.

  • для Unix-подобных OC — openssh-client, putty, ssh, Vinagre;
  • для Windows — PuTTY, SecureCRT, ShellGuard. Начиная с версии Windows 10 появилась встроенная программа OpenSSH;
  • Linux и MacOS имеют встроенный SSH-клиент, которому не требуется дополнительная настройка;
  • для Android — connectBot.

Загрузка файлов через SSH

  1. Как скопировать файл по SSH на Linux

Чтобы скопировать файл по SSH потребуется выполнить команду scp Подключение к серверу возможно только при наличии пароля и логина пользователя. Общая команда для скачивания имеет вид:

scp [опция] [источник] [получатель]

После запуска команды введите пароль от указанного удаленного сервера.

Как по SSH скачать файл на локальный компьютер с удаленного сервера

После подключения по SSH введите команду:

scp [имя пользователя]@[имя сервера/ip-адрес]:[путь к файлу] [путь к файлу]

Например, команда может выглядеть следующим образом:

scp root@111.111.111.111:/home/example.txt /directory

Она означает, что файл example.txt будет загружен с сервера 111.111.111.112 на локальный компьютер в папку «/directory».

Как загрузить файл на сервер по SSH с локальной машины

Чтобы загрузить файл по SSH на Linux выполните команду:

scp [путь к файлу] [имя пользователя]@[имя сервера/ip-адрес]:[путь к файлу]

Предположим, команда выглядит следующим образом:

scp /home/example.txt root@111.111.111.112:/directory

Команду можно расшифровать как: файл example.txt будет скопирован на хост 111.111.111.112 в директорию «/directory».

Как скопировать файл по SSH с одного удаленного сервера на другой

Перед началом передачи данных через SSH подключитесь к серверу, где находится файл и выполните команду:

scp [путь к файлу] [имя пользователя]@[имя сервера/ip-адрес]:[путь к файлу]

Указанная команда может иметь вид:

scp /home/example.txt root@111.111.111.112:/directory

Это значит, что файл example.txt будет скопирован на хост 111.111.111.112 в директорию «/directory».

Как скачать по SSH папку со всеми файлами и подпапками

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

scp -r [источник] [получатель]

Например, для скачивания каталога /home/user/buh команда может выглядеть следующим образом:

scp –r /home/user/buh root@111.111.111.112:/root

Как подключиться к серверу по нестандартному порту

Если работа SSH-сервера происходит через нестандартный порт, используйте опцию –P:

scp -P [источник] [получатель]

Например, команда может выглядеть следующим образом:

scp -P 2022 /home/example.txt root@111.111.111.112:/directory

Подключение происходит по порту 2022 к серверу 111.111.111.112, на этот сервер копируется файл example.txt с локального компьютера в директорию «/directory».

Чтобы узнать, какие еще возможности предоставляет команда, запустите scp без параметров и прочтите краткую справку.

  1. Как загрузить файл через SSH на Windows

Как происходит загрузка файлов по SSH на Windows? В операционной системе от Microsoft используется утилита pscp.exe. Принцип ее работы схож с командой scp. Утилита pscp.exe изначально добавлена в программу Putty (самый популярный SSH-клиент для Windows). Но сама Putty не включена в набор Windows-программ. Скачать ее можно на официальном сайте.

При работе с операционной системой Windows и SSH-клиентом Putty, формат команд остается такой же как при работе с UX-системами. Меняется название исполняемого файла и используется синтаксис обозначения пути к файлам и каталогам при указании источника или места назначения (сравните: /home/example.txt — для Linux и C:Tempfile.tgz для Windows).

Как скачать файл по SSH через Putty? Открываем командную строку cmd.exe (сочетание клавиш Win+R), переходим в каталог, где расположен файл pscp.exe, набираем команду:

pscp [имя пользователя]@[имя сервера/ip-адрес]:[путь к файлу] [путь к файлу]

например,

pscp.exe root@111.111.111.112:C:Tempfile.tgz /root

Загрузить файл на сервер можно командой:

pscp [путь к файлу] [имя пользователя]@[имя сервера/ip-адрес]:[путь к файлу]

например,

pscp.exe C:Tempfile.tgz root@111.111.111.112:/root

Чтобы увидеть список папок и файлов, размещенных на сервере, введите:

pscp -ls [имя пользователя]@[имя сервера/ip-адрес]:[путь]

Если в пути или в названии файла присутствуют пробелы, то обозначьте их двойными кавычками — “Путь к файлу”.

Как и с scp, запуская pscp.exe без заданных параметров, вы можете получить краткую информацию по возможным командам и перечень поддерживаемых модификаторов.

Заключение

SSH — удобный и надежный протокол для работы с удаленными устройствами. Он позволяет безопасно загружать и скачивать необходимую информацию с сервера на компьютер и наоборот. Преимущество SSH – простота использования и универсальность удаленного доступа, наличие ключей шифрования, обеспечивающих высокую степень защиты данных.

Содержание

  1. Копирование файлов через SSH
  2. Копирование файлов по SSH на Linux
  3. Как скопировать файл по SSH с локальной машины на удалённый сервер
  4. Как скопировать файлы с удалённого сервера на локальный компьютер
  5. Как скачать папку со всеми файлами и подпапками
  6. Как подключиться к серверу по нестандартному порту
  7. Как передать и скачать файлы по SSH на Windows
  8. Копирование файлов scp
  9. Что такое SCP?
  10. Копирование файлов scp
  11. Выводы

Копирование файлов через SSH

В статье мы расскажем, как копировать файлы в Windows и Linux-системах, и покажем основные команды, с помощью которых происходит передача файлов по SSH.

Для копирования файлов по SSH в Linux-системах и Windows используют разные инструменты:

Копирование файлов по SSH на Linux

Для 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:

Как подключиться к серверу по нестандартному порту

Бывает, что для подключения по SSH нужно указать нестандартный порт. Без указания порта команда подключается к серверу по стандартному 22 порту. Чтобы указать нестандартный порт, введите команду с ключём -P:

Эта команда подключается по порту 12345 к серверу 123.123.123.123 и копирует на него файл «test.txt» с локального компьютера в директорию «/directory».

Как передать и скачать файлы по SSH на Windows

Скопировать файл по SSH на сервер можно командой:

pscp [путь к файлу] [имя пользователя]@[имя сервера/ip-адрес]:[путь к файлу]

Скачать файл по SSH с сервера командой:

pscp [имя пользователя]@[имя сервера/ip-адрес]:[путь к файлу] [путь к файлу]

Увидеть список папок и файлов на сервере можно через pscp.exe. Для этого введите:

Если в пути или в названии файла есть пробелы, используйте кавычки:

pscp “C:files or docsfile name” root@123.123.123.123:/home

Источник

Копирование файлов scp

Если у вас есть домашний сервер или сервер в интернете, то вам понадобится способ для безопасного перемещения файлов между машинами. Между локальными машинами мы могли бы просто переносить данные с помощью флешки, но на удаленный сервер нужно передавать данные только через сеть. Есть много способов реализации этой задачи.

В этой статье мы рассмотрим как выполняется копирование файлов с помощью утилиты scp (Secure Copy Command), а также что из себя представляет команда Linux scp. При передаче файлы шифруются, так что больше никто не сможет получить к ним доступ и самое интересное, что вам не нужно настраивать FTP или другое дополнительное программное обеспечение. Будет достаточно сервера SSH.

Что такое SCP?

Копирование файлов scp

Эта статья рассчитана в первую очередь на начинающих, поэтому я попытаюсь объяснять все как можно подробнее. Перед тем, как мы перейдем к практике, нужно рассмотреть общий синтаксис команды:

$ scp опции пользователь1@хост1 : файл пользователь2@хост2: файл

Опции утилиты больше касаются протокола SSH и настраивают общее ее поведение. Дальше следует адрес первого и второго файла. Каждый из них может быть расположен как на локальной, так и на удаленной машине. А теперь рассмотрим основные опции, которые могут нам понадобиться:

scp /home/sergiy/file root@losst.ru:/root/

Snimok ekrana iz 2017 03 06 18 49 14

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

Snimok ekrana iz 2017 03 06 18 41 08

Убедитесь, что у исходного каталога нет косой черты, а у каталога назначения она должна обязательно быть. Немного изменив синтаксис с косой чертой можно передать все файлы из каталога на удаленный сервер:

Snimok ekrana iz 2017 03 06 18 46 28

Если поменять местами локальный путь и сервер, то вы сможете копировать файлы scp c удаленного сервера на локальный компьютер:

scp root@losst.ru:/root/file /home/sergiy/

Snimok ekrana iz 2017 03 06 18 49 14

Таким же самым образом вы можете копирование файлов scp или папок с сервера:

Snimok ekrana iz 2017 03 06 18 53 27

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

Чтобы скачать файл scp из одного сервера на другой, просто необходимо указать данные аутентификации на каждом из них. Например, скопируем один файл:

scp root@losst.ru:/home/root/index.html root@losst.ru:/home/root/www/

Скопируем папку с того же удаленного сервера:

scp root@losst.ru:/root/photos root@losst.ru:/home/root/www/

Выводы

В этой статье мы рассмотрели как выполняется передача файлов scp, как это работает и что вы можете сделать с помощью этой утилиты. Как вы видите, перемещать файлы с одного сервера на другой очень просто. В Linux достаточно понять основы чтобы начать работать эффективнее! А команда scp один из таких инструментов.

Источник

Иногда все мы сталкиваемся с ситуацией передачи файлов с сервера, на сервер. Легко, удобно и безопасно это делать через SSH. В Linux системах в состав ssh-client входит утилита SCP, а в Windows есть аналогичная утилита PSCP которая входит в состав пакета инструментов PuTTY.

Пример использования SCP на Linux системах

Скачать файл с удаленного сервера на локальный:

scp root@11.22.33.44:/root/file.tar.gz /opt

scp P 22 root@11.22.33.44:/root/file.tar.gz /opt

В командах выше мы указали cкачать файл file.tar.gz находящийся в директории /root на удаленном сервере под пользователем root с IP адресом 11.22.33.44 в папку /opt. И вариант скачивания с указанием порта SSH, в случае, если на сервере изменен стандартный порт SSH.

Загрузить файл на удаленный сервер:

scp file.tar.gz root@11.22.33.44:/root

scp P 22 file.tar.gz root@11.22.33.44:/root

В командах выше мы указали закачать файл file.tar.gz находящийся в текущей директории на удаленный сервер под пользователем root с IP адресом 11.22.33.44 в папку /root. И вариант загрузки с указанием порта SSH. Это необходимо в случае, если на сервере изменен стандартный порт SSH.

Пример использования PSCP на Windows системах

Запускаем командную строку и переходим в папку, где находится программа pscp.exe и копируемый файл.

Скачать файл на локальную сервер:

pscp.exe root@11.22.33.44:/home/user/file.tar.gz .

pscp.exe P 22 root@11.22.33.44:/home/user/file.tar.gz .

В командах выше мы указали cкачать файл file.tar.gz находящийся в директории /root на удаленном сервере под пользователем root с IP адресом 11.22.33.44 в текущий каталог. И вариант скачивания с указанием порта SSH, в случае, если на сервере изменен стандартный порт SSH.

Загрузить файл на удаленный сервер:

pscp.exe file.tar.gz root@11.22.33.44:/root

pscp.exe P 22 file.tar.gz root@11.22.33.44:/root

В командах выше мы указали закачать файл file.tar.gz находящийся в текущей директории на удаленный сервер под пользователем root с IP адресом 11.22.33.44 в папку /root. И вариант загрузки с указанием порта SSH. Это необходимо в случае, если на сервере изменен стандартный порт SSH.

Вот так легко можно скачать или загрузить на сервер файл.

Понравилась или оказалась полезной статья, поблагодари автора

 

ПОНРАВИЛАСЬ ИЛИ ОКАЗАЛАСЬ ПОЛЕЗНОЙ СТАТЬЯ, ПОБЛАГОДАРИ АВТОРА

Загрузка…

Подключение к серверу посредством SSH – один из основных методов управления *nix серверами. Довольно часто возникает необходимость загрузить файл на удаленный сервер, либо выгрузить, и других средств кроме SSH-подключения нет. К счастью, копирование файлов через защищенное соединение – одна из штатных функций этого протокола и реализуется с помощь отдельной команды scp в Linux-системах, либо с помощью pscp.exe, входящей в состав SSH-клиента Putty для операционной системы Windows.

Работаем на ОС семейства Linux

Используем следующий формат команд:

scp [модификатор] [источник] [место_назначения]

Если в качестве источника или места назначения указывается удаленный сервер, то формат параметра такой:

[пользователь]@[сервер]:[путь_к_файлу]

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

Если собрать все вместе, то скопировать локальный файл /home/user/file.tgz в домашний каталог пользователя root удаленного сервера 123.123.123.123 можно командой:

scp /home/user/file.tgz root@123.123.123.123:/root

Чтобы скачать этот же файл с удаленного сервера:

scp root@123.123.123.123:/root/file.tgz /home/user

За одну операцию можно скопировать несколько файлов, для этого необходимо указать их в качестве источника, разделив пробелом – местом назначения будет считаться последний указанный параметр. Например, загрузить файлы file1.tgz и file2.tgz из локального каталога на удаленный сервер позволит команда:

scp file1.tgz file2.tgz root@123.123.123.123:/root

Для копирования каталога потребуется задействовать модификатор команды r. Копируем локальный каталог /home/user/dir на удаленный сервер:

scp –r /home/user/dir root@123.123.123.123:/root

В тех случаях, когда SSH-сервер работает на нестандартном порту, поможет опция P. Если нужно подключиться через порт 10022:

scp –P 10022 /home/user/file.tgz root@123.123.123.123:/root

Чтобы узнать какие еще модификаторы поддерживает команда, можно просто запустить scp без параметров и прочитать краткую справку.

Работаем на ОС семейства Windows

При использовании операционной системы Windows и Putty в качестве клиента, формат команды остается тот же, меняется только название исполняемого файл и используется синтаксис указания путей к файлам и каталогам Windows при указании источника или места назначения. Запускаем командную строку (cmd.exe) или PowerShell, переходим в каталог, где расположен файл pscp.exe вводим команду:

pscp.exe C:Tempfile.tgz root@123.123.123.123:/root

В случае запуска из какой-либо другой папки понадобится указать полный путь к pscp.exe. Если в каком-либо из путей присутствуют пробелы, используются двойные кавычки — “Путь к файлу”:

“C:Program FilesPuttypscp.exe” C:Tempfile.tgz root@123.123.123.123:/root

Как и в случае с scp, запустив pscp.exe без параметров, можно увидеть краткую справку по синтаксису команды и перечень поддерживаемых модификаторов.

Запуск команд на удаленном сервере через SSH-подключение

Протокол SSH, помимо работы в интерактивном режиме, поддерживает также разовый запуск команд или скриптов на удаленном сервере.

Работаем на ОС семейства Linux

Синтаксис команды:

ssh [пользователь]@[сервер] ‘[команда]’

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

Например, получим информацию об установленной на удаленном сервере операционной системе:

ssh root@123.123.123.123 ‘uname -a’

Чтобы запустить несколько команд за одно подключение, можно использовать символ “;” в качестве разделителя. Проверим сетевые настройки и активные сетевые подключения на удаленном сервере:

ssh  root@123.123.123.123 ‘ifconfig; netstat -anp tcp’

В случае, если потребуется запустить на удаленном сервере локальный файла сценария, потребуется в SSH-подключении вызвать командный интерпретатор в режиме исполнения сценария (например, bash с ключом -s), и на стандартный ввод передать ему файл сценария. Выглядеть эта конструкция будет так:

ssh  root@123.123.123.123 ‘bash -s’ < /home/user/myscript.sh

В результате локальный файл /home/user/myscript.sh исполнится на удаленном сервере.

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

Работаем на ОС семейства Windows

Если мы подключаемся к удаленному серверу с компьютера, работающего на операционной системе Windows, то нам снова потребуется обратиться к терминальному клиенту Putty, в состав которого входит исполняемый файл plink.exe. Работать с этим файлом необходимо из командной строки (cmd.exe) или из PowerShell.

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

plink.exe [сервер] -ssh -l [пользователь] “[команда]”

Проверим конфигурацию сетевых интерфейсов:

plink.exe 123.123.123.123 -ssh -l root “ifconfig”

Как и при работе с командой SSH в Linux, plink.exe позволяет использовать “;” в качестве разделителя для запуска нескольких команд:

plink.exe 123.123.123.123 -ssh -l root “ifconfig; netstat -anp tcp”

А запуск команд из локального файла можно реализовать с помощью дополнительного ключа m:

plink.exe 123.123.123.123 -ssh -l root -m “C:Tempmyscript.sh”

Запустив команду plink.exe без параметров, можно ознакомиться с краткой справкой по синтаксису и списком дополнительных модификаторов команды.

Аverage rating : 5

Оценок: 5

220140
Минск
ул. Домбровская, д. 9

+375 (173) 88-72-49

700
300

ООО «ИТГЛОБАЛКОМ БЕЛ»

220140
Минск
ул. Домбровская, д. 9

+375 (173) 88-72-49

700
300

ООО «ИТГЛОБАЛКОМ БЕЛ»

700
300

Примеры загрузки файлов с локальной машины на сервер и скачивания файлов с сервера на локальную машину через SSH для Linux и Windows.

Linux

Скачивание с сервера

scp [СЕРВЕР:ПУТЬ_ДО_ФАЙЛА] [ДИРЕКТОРИЯ_НА_ЛОКАЛЬНОЙ_ОС]

scp root@255.255.255.255:/home/user/my_file.txt /opt

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

scp [ПУТЬ_ДО_ФАЙЛА] [СЕРВЕР:ДИРЕКТОРИЯ_НА_СЕРВЕРЕ]

scp /opt/my_file.txt root@255.255.255.255:/home/user

Windows

Для удобства использования утилиты pscp в Windows вам нужно указать в переменной PATH полный путь до директории с ней. Эта утилита обычно идет вместе с популярным SSH-клиентом PuTTY и находится в одной директории с ним.

Скачивание с сервера

pscp [СЕРВЕР:ПУТЬ_ДО_ФАЙЛА] [ДИРЕКТОРИЯ_НА_ЛОКАЛЬНОЙ_ОС]

pscp root@255.255.255.255:/home/user/my_file.txt "D:"

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

pscp [ПУТЬ_ДО_ФАЙЛА] [СЕРВЕР:ДИРЕКТОРИЯ_НА_СЕРВЕРЕ]

pscp "D:my_file.txt" root@255.255.255.255:/home/user

Если при загрузке файла с сервера у вас появляется ошибка с текстом «Нельзя создать файл»/»Can’t create file», то попробуйте указать в конце пути назначения точку – «.». Пример:

pscp root@255.255.255.255:/home/user/my_file.txt "D:."

Команда scp это утилита, которая работает по протоколу SSH, а значит, все что вам нужно для передачи файла на компьютер, это чтобы на нем был запущен SSH сервер, а также вы должны знать логин и пароль для подключения к нему. С помощью команды scp вы можете не только перемещать файлы между локальной и удаленной системой, но и между двумя удаленными системами. Для этого тоже будет достаточно знать пароли от них.

Перед тем, как мы перейдем к практике, нужно рассмотреть общий синтаксис команды:

scp опции пользователь1@хост1:файл пользователь2@хост2:файл

Опции утилиты больше касаются протокола SSH и настраивают общее ее поведение. Дальше следует адрес первого и второго файла. Каждый из них может быть расположен как на локальной, так и на удаленной машине. А теперь рассмотрим основные опции, которые могут нам понадобиться.

Скопировать файл по SSH с локальной машины на удалённый сервер

Файл test.txt будет скопирован на хост 123.123.123.123 в директорию /directory:

scp /home/test.txt root@123.123.123.123:/directory

Скопировать файл по SSH с удалённого сервера на локальный компьютер

Файл test.txt будет загружен с сервера 123.123.123.123 на локальный компьютер в папку /directory:

scp root@123.123.123.123:/home/test.txt /directory

Скопировать файл по SSH с одного удалённого сервера на другой

Необходимо подключится по SSH к серверу, на котором расположен файл, затем выполнить команду:

scp /home/test.txt root@123.123.123.123:/directory

Файл test.txt будет скопирован на хост 123.123.123.123 в директорию /directory.

Скопировать папку со всеми файлами и подпапками

Если вы хотите скачать папку со всеми файлами и подпапками, используйте ключ -r:

scp -r [источник] [получатель]

Подключиться к серверу по нестандартному порту

Бывает, что для подключения по SSH нужно указать нестандартный порт. Без указания порта команда подключается к серверу по стандартному 22 порту. Чтобы указать нестандартный порт, введите команду с ключом -P:

scp -P номер_порта [источник] [получатель]

Команда подключается по порту 12345 к серверу 123.123.123.123 и копирует на него файл test.txt с локального компьютера в директорию /directory:

scp -P 12345 /home/test.txt root@123.123.123.123:/directory

Передать и скачать файлы по SSH в Windows

Увидеть список папок и файлов на сервере можно через pscp.exe, для этого введите:

pscp -ls [имя пользователя]@[имя сервера/ip-адрес]:[путь]

Скопировать файл по SSH с сервера можно командой:

pscp [имя пользователя]@[имя сервера/ip-адрес]:[путь к файлу] [путь к файлу]

Скопировать файл по SSH на сервер можно командой:

pscp [путь к файлу] [имя пользователя]@[имя сервера/ip-адрес]:[путь к файлу]

Если в пути или в названии файла есть пробелы, используйте кавычки:

pscp “C:files or docsfile name” root@123.123.123.123:/home

I am running a putty client on a Windows machine to connect successfully to a Linux box. Now I want to be able to copy a file from the Linux machine under the path /home/ubuntu/myfile to C:/Users/Anshul/Desktop on my local computer. The user at the Windows machine is anshul. I am giving the following command on putty but it is not working:

scp /home/ubuntu/myfile ip_address_of_windows_machine:C:/Users/Anshul/Desktop 

I think the path for the Windows machine is wrong. Please help as I have banged my head on a large number of forums but none seem to give correct path for Windows server. Don’t suggest alternate options like WinScp

Guy Avraham's user avatar

Guy Avraham

3,3623 gold badges40 silver badges49 bronze badges

asked Apr 19, 2012 at 19:56

user1344963's user avatar

5

This one worked for me.

scp /home/ubuntu/myfile username@IP_of_windows_machine:/C:/Users/Anshul/Desktop 

answered Mar 12, 2018 at 6:04

emoblazz's user avatar

emoblazzemoblazz

1,3211 gold badge6 silver badges3 bronze badges

6

Download pscp from Putty download page, then use it from Windows Command Line CMD as follows:

pscp username_linux_machine@ip_of_linux_machine:/home/ubuntu/myfile.ext C:UsersNameDownloads

Copying starts once you enter the password for the Linux machine.

ifnotak's user avatar

ifnotak

3,8673 gold badges21 silver badges35 bronze badges

answered Jun 8, 2016 at 20:49

Hesham Eraqi's user avatar

Hesham EraqiHesham Eraqi

2,4254 gold badges22 silver badges45 bronze badges

3

Try this, it really works.

$ scp username@from_host_ip:/home/ubuntu/myfile /cygdrive/c/Users/Anshul/Desktop

And for copying all files

$ scp -r username@from_host_ip:/home/ubuntu/ *. * /cygdrive/c/Users/Anshul/Desktop

fluffyBatman's user avatar

fluffyBatman

6,3543 gold badges22 silver badges24 bronze badges

answered Jun 10, 2014 at 11:57

Chris Alexander sebastian's user avatar

8

Access from Windows by Git Bash console (also works for CMD and PowerShell):

scp user@ip:/dir1/dir2/file "D:dir1dir2"

Wenfang Du's user avatar

Wenfang Du

7,3897 gold badges49 silver badges79 bronze badges

answered Jan 4, 2019 at 13:18

byteprom's user avatar

byteprombyteprom

4514 silver badges4 bronze badges

5

You could use something like the following

scp -r linux_username@linux_address:path/to/file path/to/local/directory

This will copy file to the specified local directory on the system you are currently working on.

The -r flag tells scp to recursively copy if the remote file is a directory.

answered Feb 16, 2015 at 23:58

Atif's user avatar

AtifAtif

3251 gold badge4 silver badges16 bronze badges

Windows doesn’t support SSH/SCP/SFTP natively. Are you running an SSH server application on that Windows server? If so, one of the configuration options is probably where the root is, and you would specify paths relative to that root. In any case, check the documentation for the SSH server application you are running in Windows.

Alternatively, use smbclient to push the file to a Windows share.

George's user avatar

George

6,5293 gold badges42 silver badges56 bronze badges

answered Apr 19, 2012 at 19:59

theglauber's user avatar

theglaubertheglauber

27.9k7 gold badges29 silver badges46 bronze badges

5

For all, who has installed GiT completly with «Git Bash»: You can just write:

scp login@ip_addres:/location/to/folders/file.tar .

(with space and DOT at the end to copy to current location). Than just add certificate (y), write password and that’s all.

answered Oct 3, 2017 at 12:31

Krzysztof Walczewski's user avatar

1

Your code isn’t working because c:/ or d:/ is totally wrong for linux just use /mnt/c or/mnt/c

From your local windows10-ubuntu bash use this command:

for download:
(from your remote server folder to d:/ubuntu) :

scp username@ipaddress:/folder/file.txt /mnt/d/ubuntu

Then type your remote server password if there is need.

for upload:
(from d:/ubuntu to remote server ) :

scp /mnt/d/ubuntu/file.txt username@ipaddress:/folder/file.txt 

Then type your remote server password if there is need.
note: I tested and it worked.

answered Feb 19, 2019 at 12:09

Baris Vvolf's user avatar

I had to use pscp like above Hesham’s post once I downloaded and installed putty. I did it to Windows from Linux on Windows so I entered the following:

c:ssl>pscp username@linuxserver:keenan/ssl/* .

This will copy everything in the keenan/ssl folder to the local folder (.) you performed this command from (c:ssl). The keenan/ssl will specify the home folder of the username user, for example the full path would be /home/username/keenan/ssl. You can specify a different folder using a forward slash (/), such as

c:ssl>pscp username@linuxserver:/home/username/keenan/ssl/* .

So you can specify any folder at the root of Linux using :/.

halfer's user avatar

halfer

19.7k17 gold badges95 silver badges183 bronze badges

answered Dec 14, 2018 at 12:47

Keenan Stewart's user avatar

To send a file from windows to linux system

scp path-to-file user@ipaddress:/path-to-destination

Example:

scp C:/Users/adarsh/Desktop/Document.txt root@127.0.0.1:/tmp

keep in mind that there need to use forward slash(/) inplace of backward slash() in for the file in windows path else it will show an error

C:UsersadarshDesktopDocument.txt: No such file or directory

.
After executing scp command you will ask for password of root user in linux machine.
There you GO…

To send a file from linux to windows system

scp -r user@ipaddress:/path-to-file path-to-destination

Example:

scp -r root@127.0.0.1:/tmp/Document.txt C:/Users/adarsh/Desktop/

and provide your linux password.
only one you have to add in this command is -r.
Thanks.

answered Mar 15, 2019 at 6:00

ADARSH K's user avatar

ADARSH KADARSH K

5967 silver badges20 bronze badges

Here is the solution to copy files from Linux to Windows using SCP without password by ssh:

  1. Install sshpass in Linux machine to skip password prompt

  2. Script

    sshpass -p 'xxxxxxx' scp /home/user1/*.* testuser@x.x.x.x:/d/test/

Details:

sshpass -p 'password' scp /source_path/*.* windowsusername@windowsMachine_ip:/destination_drive/subfolder/

serenesat's user avatar

serenesat

4,59110 gold badges35 silver badges53 bronze badges

answered Aug 28, 2015 at 12:47

Ramarajan Jothi's user avatar

As @Hesham Eraqi suggested, it worked for me in this way (transfering from Ubuntu to Windows (I tried to add a comment in that answer but because of reputation, I couldn’t)):

pscp -v -r -P 53670 user@xxx.xxx.xxx.xxx:/data/genetic_map/sample/P2_283/* \Desktop-mojbd3ndcc_01-1940_data

where:

-v: show verbose messages.
-r: copy directories recursively.
-P: connect to specified port.
53670: the port number to connect the Ubuntu server.
\Desktop-mojbd3ndgenetic_map_data: I needed to transfer to an external HDD, thus I had to give permissions of sharing to this device.

answered Jun 27, 2019 at 3:37

giannkas's user avatar

giannkasgiannkas

1683 silver badges14 bronze badges

Open bash window. Preferably git bash.
write

scp username@remote_ip:/directory_of_file/filename ‘windows_location_you_want_to_store_the_file’

Example:

Suppose your username is jewel

your IP is 176.35.96.32

your remote file location is /usr/local/forme

your filename is logs.zip

and you want to store in your windows PC’s D drive forme folder
then the command will be

scp jewel@176.35.96.32:/usr/local/forme/logs.zip ‘D:/forme’

**Keep the local file directory inside single quote.

answered Apr 7, 2019 at 6:02

Zenith's user avatar

ZenithZenith

9371 gold badge8 silver badges21 bronze badges

I know this is old but I was struggling with the same. I haven’t found a way to change directories, but if you just want to work with the C drive, scp defaults to C. To scp from Ubuntu to Windows, I ended up having to use (notice the double back-slashes):

scp /local/file/path user@111.11.11.111:Users\Anshul\Desktop

Hope this helps someone.

Racil Hilan's user avatar

Racil Hilan

24.3k12 gold badges49 silver badges52 bronze badges

answered Jul 29, 2016 at 0:35

Acmag's user avatar

AcmagAcmag

12 bronze badges

2

Try this:

scp /home/ubuntu/myfile C:usersAnshulDesktop

Pang's user avatar

Pang

9,344146 gold badges85 silver badges121 bronze badges

answered Jan 12, 2013 at 2:50

Corey Burnett's user avatar

Corey BurnettCorey Burnett

7,2629 gold badges54 silver badges92 bronze badges

1

If you want to copy paste files from Unix to Windows and Windows to Unix just use filezilla with port 22.

answered Sep 4, 2012 at 7:38

user1645422's user avatar

Понравилась статья? Поделить с друзьями:
  • Как скачать файл с linux на windows putty
  • Как скачать файл с github windows
  • Как скачать файл от имени администратора в windows 10
  • Как скачать файл на флешку с компьютера пошагово windows
  • Как скачать файл на другой диск windows 10