Скопировать файл по ssh с сервера linux

Содержание
  1. Копирование файлов через SSH
  2. Копирование файлов по SSH на Linux
  3. Как скопировать файл по SSH с локальной машины на удалённый сервер
  4. Как скопировать файлы с удалённого сервера на локальный компьютер
  5. Как скачать папку со всеми файлами и подпапками
  6. Как подключиться к серверу по нестандартному порту
  7. Как передать и скачать файлы по SSH на Windows
  8. Копирование файлов по ssh. Команда scp
  9. Синтаксис команды scp
  10. Копирование локального файла
  11. Локальный→Удаленный
  12. Указываем порт
  13. Копирование файла с удаленного компьютера на локальный
  14. Удаленный→Локальный
  15. Копирование директории
  16. Копирование со сжатием данных (ускорение)
  17. Сохранение атрибутов файла
  18. Если в пути есть пробелы
  19. Копирование файлов и запуск команд через SSH
  20. Работаем на ОС семейства Linux
  21. Работаем на ОС семейства Windows
  22. Запуск команд на удаленном сервере через SSH-подключение
  23. Работаем на ОС семейства Linux
  24. Работаем на ОС семейства Windows
  25. HackWare.ru
  26. Этичный хакинг и тестирование на проникновение, информационная безопасность
  27. SSH (ч.5): Копирование файлов с помощью scp и sftp
  28. Оглавление
  29. Копирование с удалённого компьютера и на удалённый компьютер (scp и sftp)
  30. Как пользоваться утилитой scp
  31. Как скопировать файл с одного удалённого хоста на другой удалённый хост
  32. Как выгрузить на сервер или скачать с сервера папку
  33. Как указать порт для scp
  34. Как использовать другой файл настройки для scp и как указать файл ключей аутентификации
  35. Как ограничить скорость передачи данных в scp
  36. Как сохранить метки времени при передаче по scp
  37. Отключение строгой проверки имён файлов
  38. Тихий режим
  39. Как пользоваться sftp
  40. Интерактивные команды sftp
  41. Опции sftp
  42. Графический интерфейс SFTP

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

В статье мы расскажем, как копировать файлы в 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».

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

Если вы хотите скачать папку со всеми файлами и подпапками, используйте ключ -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 docs\file name” root@123.123.123.123:/home

Источник

Копирование файлов по ssh. Команда scp

Для копирования файлов по ssh между компьютерами под управлением Linux применяется команда scp . Рассмотрим, как можно копировать файлы с одного компьютера на другой по ssh, используя команду scp .

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

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

Команда scp принимает на вход различные опции (см. примеры ниже), а также файл или директорию, которую необходимо скопировать (аргумент что_копируем ). Последним аргументом указывается путь назначения, в который будет произведено копирование (аргумент куда_копируем ).

Аргументы что_копируем и куда_копируем могут быть, как локальными путями, так и удаленными. То есть можно копировать файлы с удаленного компьютера на локальный и наоборот. Можно копировать файлы с удаленного компьютера на другой удаленный компьютер.

что_копируем и куда_копируем имеют следующий синтаксис:

имя_пользователя — это имя пользователя для подключения по ssh.
IP_адрес — IP адрес компьютера (хоста) на который или с которого будет копирование.

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

Локальный→Удаленный

Рассмотрим простой пример. Скопируем по ssh локальный файл myfile.dat на компьютер с IP адресом 192.168.1.74 в директорию /home/pingvin .

Указываем порт

Выполним тоже самое, но укажем еще и порт для подключения по ssh (используем опцию -P ). Обратите внимание, что опция для указания порта это прописная буква P !

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

Удаленный→Локальный

Теперь наоборот. Скопируем файл с удаленного компьютера в нашу текущую директорию.

Копирование директории

Скопируем с нашего локального компьютера директорию

/mydir на удаленный компьютер в директорию /home/pingvin . Используется опция -r .

Копирование со сжатием данных (ускорение)

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

Пример копирования файла myfile.dat с включенным сжатием.

Сохранение атрибутов файла

Чтобы результирующий файл получил те же атрибуты что и исходный файл, используется опция -p (не путать с опцией -P для указания порта). При использовании опции -p сохраняются права доступа к файлу, владелец файла, временные метки и так далее.

Если в пути есть пробелы

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

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

Для получения полной справки по команде scp выполните в терминале:

Источник

Копирование файлов и запуск команд через SSH

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

Читайте также:  Linux kworker процесс 100

Работаем на ОС семейства 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 исполнится на удаленном сервере.

Запуск команды 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:

Источник

HackWare.ru

Этичный хакинг и тестирование на проникновение, информационная безопасность

SSH (ч.5): Копирование файлов с помощью scp и sftp

Оглавление

Копирование с удалённого компьютера и на удалённый компьютер (scp и sftp)

Пакет OpenSSH также включает две программы, которые используют зашифрованный туннель SSH для копирования файлов по сети. Первая программа — scp («безопасное копирование») похожа на программу cp для копирования файлов.

Вторая программа для копирования файлов через SSH — это sftp. Как следует из её имени, она является безопасным заменителем ftp программ. sftp работает как и оригинальная ftp программа. Тем не менее вместо отправки данных в виде простого текста, она использует зашифрованный туннель SSH. Важным преимуществом sftp перед ftp является то, что для неё не требуется запущенный FTP сервер на удалённом хосте. Для неё требуется только SSH сервер. Это означает, что любая удалённая машина, на которой запущен SSH сервер, может также быть использована как FTP-подобный сервер.

Итак, обе команды:

  • работают через SSH соединения
  • передают данные по зашифрованным каналам
  • не требуют специального сервера или программ на удалённой машине кроме SSH сервера
  • используют все возможности SSH, например, аутентификацию по публичному ключу и сжатие передаваемых данных
  • scp не работает в интерактивном режиме, а sftp умеет работать в интерактивном режиме и в автоматическом
  • в интерактивном режиме sftp поддерживает синтаксис FTP команд для различных действий в файловой системе (копирование и перемещение файлов, создание и удаление файлов и папок и т.д.)
  • sftp умеет дописывать частично переданные файлы, если произошёл обрыв при передаче большого файла (настраивается опцией)
  • sftp поддерживает пакетный режим — файлы, в которых последовательность действий определена последовательностью команд sftp
  • популярные файловые менеджеры понимают протокол sftp и могут интегрироваться с этой командой — подробности ниже
  • при рекурсивном скачивании или закачивании папок, по умолчанию scp следует по символическим ссылкам, а sftp — нет

Как пользоваться утилитой scp

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

То есть всего имеется три элемента в команде. В качестве ИСХОДНОГО-ФАЙЛА может быть как файл на локальной системе, так и на удалённой. Аналогично, в качестве ПУНКТА-НАЗНАЧЕНИЯ может быть как файл на локальной системе, так и на удалённой.

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

Что касается файла на удалённой системе, то он может быть указан так:

Или в виде URI в форме:

Следовательно, если мы копируем файл с удалённой системы на локальную, общий вид команды такой:

В качестве ./ПУТЬ/В/ЛОКАЛЬНОЙ/СИСТЕМЕ можно указать просто . (точку) и тогда файл будет скопирован с текущим именем в текущий рабочий каталог.

Если мы копируем файл с локальной системы на удалённую, общий вид команды такой:

Синтаксис обращения к удалённому хосту схож с SSH: ПОЛЬЗОВАТЕЛЬ@ХОСТ, отличие только в том, что после двоеточия указывается путь до файла (или просто имя файла). При использовании URI, после двоеточия указывается порт (если он отличается от стандартного), а путь до файла указывается после слэша.

Читайте также:  Как открыть панель управления nvidia windows 10

Рассмотрим пример выполнения команды на удалённой системы и скачаем этот файл на локальную систему:

В scp команде ИСХОДНЫЙ-ФАЙЛ обозначен как root@192.168.1.68:dirlist.txt — здесь до двоеточия идёт имя пользователя на удалённой системе и адрес хоста — та информация, которая необходима для подключения по SSH. Затем двоеточием отделён файл, который должен быть скачен.

ПУНКТ-НАЗНАЧЕНИЯ в этой команде обозначен как . (точка) — что означает текущую рабочую директорию (в локальной системе).

Теперь рассмотрим пример копирования файла с локальной машины на удалённую:

В команде отправки scp:

  • nfile.txt — имя файла,
  • root@192.168.1.68 — имя пользователя и удалённый хост (как в команде подключения по SSH),
  • . (точка) означает, что файл нужно скопировать в текущую рабочую директорию на удалённом сервере, при этом имя файла останется прежним, т. е. nfile.txt

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

Программа scp умеет копировать между двумя удалёнными хостами. Если используется URI формат, порт можно указать только для цели если используется опция -3.

По умолчанию данные копируются напрямую между двумя удалёнными хостами. Если указать опцию -3, то данные между двумя хостами будут переданы через локальный хост. Эта опция отключает шкалу прогресса.

Как выгрузить на сервер или скачать с сервера папку

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

Как указать порт для scp

Указать другой порт, отличный от стандартного 22, можно с помощью опции -P ПОРТ. Обратите внимание, что эта опция написана заглавной ‘P’, поскольку -p уже занята для другой настройки (сохраняет время и режимы файла).

Как использовать другой файл настройки для scp и как указать файл ключей аутентификации

Программа scp работает вместе с ssh, то есть подключение происходит с помощью ssh и применяются все настройки этой программы. У ssh есть свои настройки по умолчанию, а также она считывает информацию из своих конфигурационных файлов. При желании, можно указать другой файл для использования, это делается опцией -F — она задаёт альтернативный конфигурационный файл пользователя для ssh. Эта опция напрямую передаётся в ssh.

Если настроен вход без пароля (по ключу), то программа ssh считывает приватный ключ в соответствии со своими настройками или из пути по умолчанию. С помощью опции -i можно выбрать другой файл с идентификатором (приватный ключ) для аутентификации по публичному ключу на сервере. Эта опция также напрямую передаётся в ssh.

Как ограничить скорость передачи данных в scp

По умолчанию передача файла происходит на максимально возможной скорости. Если по каким-то причинам нужно уменьшить лимит скорости, то используйте опцию -l, после которой укажите значение в Kbit/s.

Как сохранить метки времени при передаче по scp

С помощью опции -p (не путайте её с опцией -P, которая изменяет порт подключения) можно сохранить время модификации, время последнего доступа к файлу и режимы оригинального файла. Дополнительно о метках времени смотрите в статье «Время создания, доступа и изменения файла: что это, как их узнать и изменить. Как найти файлы по их времени создания, изменения или последнему открытию».

Отключение строгой проверки имён файлов

Опция -T отключает строгую проверку имени файла. По умолчанию при копировании файлов с удалённого хоста в локальный каталог scp проверяет, соответствуют ли полученные имена файлов тем, которые запрашиваются в командной строке, чтобы предотвратить отправку удаленным хостом неожиданных или нежелательных файлов. Из-за различий в том, как различные операционные системы и оболочки интерпретируют подстановочные символы имени файла, эти проверки могут привести к отклонению нужных файлов. Эта опция отключает эти проверки за счёт полного доверия, что сервер не будет отправлять неожиданные имена файлов.

Тихий режим

Опция -q включает тихий режим: отключает шкалу прогресса, а также предупреждения и диагностические сообщения от ssh.

Как пользоваться sftp

Адресат может быть указан как [ПОЛЬЗОВАТЕЛЬ@]ХОСТ[:ПУТЬ] или как URI в форме sftp://[ПОЛЬЗОВАТЕЛЬ@]ХОСТ[:ПОРТ][/ПУТЬ]

Если место назначения содержит ПУТЬ, который не является каталогом, sftp автоматически получит файлы, если используется неинтерактивный метод аутентификации; в противном случае это будет сделано после успешной интерактивной аутентификации.

Если путь не указан или путь является каталогом, sftp войдёт в систему на указанном хосте и перейдёт в интерактивный командный режим, зайдя в удалённый каталог, если он был указан. Дополнительная конечная косая черта может использоваться, чтобы принудительно интерпретировать путь как каталог.

Вот пример сессии:

Интерактивные команды sftp

При входе в интерактивный режим, sftp понимает набор команд, схожих с командами для ftp(1). Команды не чувствительны к регистру. Пути и имена файлов, которые содержат пробелы, должны быть заключены в кавычки.

Любые специальные символы, содержащиеся внутри имён путей, которые распознаются в glob(3), должны быть экранированы обратным слэшом (‘\’).

bye

cd [ПУТЬ]

Изменить удалённую директорию на ПУТЬ. Если ПУТЬ не указан, то директория будет сменена на ту, с которой началась текущая сессия.

chgrp [-h] ГРУППА ПУТЬ

Изменить группу файлов ПУТЬ на ГРУППА. Если указан флаг -h, тогда не будет производиться переход по символическим ссылкам. Пути могут содержать подстановочные символы (glob) и могут соответствовать нескольким файлам. ГРУППА должна быть числовым GID.

chmod [-h] РЕЖИМ ПУТЬ

Изменить права доступа ПУТЬ на РЕЖИМ. Если указан флаг -h, то не будет производиться переход по символическим ссылкам, пути могут содержать подстановочные символы (glob) и могут совпадать с несколькими файлами.

chown [-h] ВЛАДЕЛЕЦ ПУТЬ

Изменяет владельца файла ПУТЬ на ВЛАДЕЛЕЦ. Если указан флаг -h, то не будет производиться переход по символическим ссылкам, пути могут содержать подстановочные символы (glob) и могут совпадать с несколькими файлами. ВЛАДЕЛЕЦ должен быть указан цифровым UID.

df [-hi] [path]

Показать информацию об использовании для файловой системы, содержащей текущий каталог (или путь, если указан). Если указан флаг -h, информация о ёмкости будет отображаться с использованием «удобочитаемых» суффиксов. Флаг -i запрашивает отображение информации об узле в дополнение к информации о ёмкости. Эта команда поддерживается только на серверах, которые реализуют расширение «statvfs@openssh.com».

exit

get [-afPpr] УДАЛЁННЫЙ-ПУТЬ [ЛОКАЛЬНЫЙ-ПУТЬ]

Получает УДАЛЁННЫЙ-ПУТЬ и сохраняет этот файл на локальной машине. Если имя ЛОКАЛЬНЫЙ-ПУТЬ не указано, то файлу сохраняется его прежнее имя, которое он имел на удалённой машине. УДАЛЁННЫЙ-ПУТЬ может содержать подстановочные символы (glob) и может совпадать с несколькими файлами. Если это так и указан ЛОКАЛЬНЫЙ-ПУТЬ, то ЛОКАЛЬНЫЙ-ПУТЬ должен быть директорией.

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

Если указан флаг -f, тогда после завершения передачи файла будет вызвана fsync(2) для записи файла на диск (flush the file to disk) — имеется ввиду, что файл не просто будет помещён в кэш и поставлен в очередь на запись, а действительно в этот момент будет записан на физический диск.

Если указан флаг -P или флаг -p, тогда также полностью будут скопированы права доступа к файлу и метки времени.

Читайте также:  Нужно ли отключать защиту системы windows 10

Если указан флаг -r, тогда директории будут скопированы рекурсивно. Обратите внимание, что sftp не следует по символическим ссылкам, когда выполняет рекурсивную передачу файлов.

help

Показывает текст помощи по использованию программой.

lcd [ПУТЬ]

Меняет рабочую директорию на локальной машине (а не на удалённой!) на ПУТЬ. Если ПУТЬ не указан, то меняет директорию на домашнюю папку локального пользователя.

lls [ОПЦИИ-ls [ПУТЬ]]

Показывает листинг локальной директории указанную как ПУТЬ или текущей рабочей директории, если ПУТЬ не указан. ОПЦИИ-ls могут содержать любые флаги, которые поддерживаются командой ls на локальной системе. ПУТЬ может содержать подстановочные символы (glob) и может соответствовать нескольким файлам.

lmkdir ПУТЬ

Создаёт директорию ПУТЬ на локальной системе.

ln [-s] СТАРЫЙ-ПУТЬ НОВЫЙ-ПУТЬ

Создаёт ссылку из СТАРЫЙ-ПУТЬ в НОВЫЙ-ПУТЬ. Если указан флаг -s, создаваемая ссылка будет символической, в противном случае будет жёсткой ссылкой.

lpwd

Печатает текущую рабочую директорию на локальной машине.

ls [-1afhlnrSt] [ПУТЬ]

Показывает список файлов удалённой директории указанного ПУТИ или текущей директории, если ПУТЬ не установлен. ПУТЬ может содержать подстановочные символы (glob) и может совпадать с несколькими файлами.

Следующие флаги распознаются командой ls и соответственно меняют её поведение:

-1

Информация выводится в один столбик.

-a

Добавляет в список файлы, которые начинаются на точку (‘.’).

-f

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

-h

Когда используется с опцией длинного формата, использует суффиксы единиц: Байт, Килобайт, Мегабайт, Гигабайт, Терабайт, Петабайт и Эксабайт чтобы уменьшить количество цифр до четырёх или менее, используя ступени 2 для размеров (K=1024, M=1048576 и т.д.).

-l

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

-n

Создаёт длинный список с информацией о пользователях и группах в числовом формате.

-r

Обратный порядок сортировки списка.

-S

Сортирует список по размеру файла.

-t

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

lumask umask

Устанавливает локальную umask на umask.

mkdir ПУТЬ

Создаёт удалённую директорию, определённую как ПУТЬ.

progress

Переключает отображение индикатора прогресса.

put [-afPpr] ЛОКАЛЬНЫЙ-ПУТЬ [УДАЛЁННЫЙ-ПУТЬ]

Выгружает ЛОКАЛЬНЫЙ-ПУТЬ сохраняет на удалённой машине. Если имя УДАЛЁННЫЙ-ПУТЬ не указано, то файлам даётся такое же имя, как и на локальной машине. ЛОКАЛЬНЫЙ-ПУТЬ может содержать подстановочные символы (glob) и может совпадать с несколькими файлами. Если это так и указан УДАЛЁННЫЙ-ПУТЬ, то УДАЛЁННЫЙ-ПУТЬ должен быть директорией.

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

Если указан флаг -f, тогда после завершения передачи файла будет вызвана fsync(2) для записи файла на диск (flush the file to disk) — имеется ввиду, что файл не просто будет помещён в кэш и поставлен в очередь на запись, а действительно в этот момент будет записан на физический диск. Обратите внимание, что это поддерживается только серверами, где реализовано расширение «fsync@openssh.com».

Если указан флаг -P или флаг -p, тогда также полностью будут скопированы права доступа к файлу и метки времени.

Если указан флаг -r, тогда директории будут скопированы рекурсивно. Обратите внимание, что sftp не следует по символическим ссылкам, когда выполняет рекурсивную передачу файлов.

pwd

Показать удалённую рабочую директорию.

quit

reget [-Ppr] УДАЛЁННЫЙ-ПУТЬ [ЛОКАЛЬНЫЙ-ПУТЬ]

Возобновить загрузку УДАЛЁННЫЙ-ПУТЬ. Эквивалент команды get с установленным флагом -a.

reput [-Ppr] [ЛОКАЛЬНЫЙ-ПУТЬ] УДАЛЁННЫЙ-ПУТЬ

Возобновить выгрузку [ЛОКАЛЬНЫЙ-ПУТЬ]. Эквивалент команды put с установленным флагом -a.

rename СТАРЫЙ-ПУТЬ НОВЫЙ-ПУТЬ

Переименовать удалённый файл со СТАРЫЙ-ПУТЬ на НОВЫЙ-ПУТЬ.

rm ПУТЬ

Удалить удалённый файл указанный как ПУТЬ.

rmdir ПУТЬ

Удалить удалённую директорию указанную как ПУТЬ.

symlink СТАРЫЙ-ПУТЬ НОВЫЙ-ПУТЬ

Создать символическую ссылку из СТАРЫЙ-ПУТЬ в НОВЫЙ-ПУТЬ.

version

Показать версию sftp протокола.

!КОМАНДА

Выполнить КОМАНДУ в локальном шелле.

Символ экранирования для передачи в локальную оболочку.

Синоним для help.

Опции sftp

Следующие опции указываются в строке команды запуска клиента sftp. Они оказывают влияние как на запущенный sftp в интерактивной сессии, так и без интерактивного режима.

-a

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

-B РАЗМЕР_БУФЕРА

Устанавливает размер буфера, который использует sftp при передаче файлов. Большие буферы требуют меньше циклов обработки за счёт более высокого потребления памяти. Значение по умолчанию равно 32768 байтам.

-b ПАКЕТНЫЙ_ФАЙЛ

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

ПАКЕТНЫЙ_ФАЙЛ в виде ‘’ может использоваться для обозначения стандартного ввода. Работа sftp будет прекращена, если какая-либо из следующих команд потерпит неудачу: get, put, reget, reput, rename, ln, rm, mkdir, chdir, ls, lchdir, chmod, chown, chgrp, lpwd, df, symlink и lmkdir.

Завершение в случае ошибки может быть подавлено для каждой команды в отдельности путём добавления к команде префикса с символом «» (например, -rm /tmp/blah*). Вывод команд может быть подавлен, если перед ней поставить символ ‘@’. Эти два префикса могут сочетаться в любом порядке, например, -@ls /bsd.

-C

Включить сжатие (через флаг -C в ssh).

-D sftp_server_path

Подключиться напрямую к локальному sftp серверу (а не через ssh). Эта опция может быть полезной при отладке клиента и сервера.

-F КОНФИГУРАЦИЯ_SSH

Указывает альтернативный пользовательский конфигурационный файл для ssh. Эта опция напрямую отправляется в ssh.

-f

Требует, чтобы файлы были записаны на диск сразу после передачи. При загрузке файлов эта функция включается только в том случае, если на сервере реализовано расширение «fsync@openssh.com».

-i ФАЙЛ_ИДЕНТИФИКАЦИИ

Выбирает файл, из которого читается идентификатор (закрытый ключ) для аутентификации с открытым ключом. Эта опция напрямую передаётся в ssh.

-l ЛИМИТ

Ограничивает используемую пропускную способность, указанную в Кбит/с.

-P ПОРТ

Указывает порт для подключения на удаленном хосте.

-p

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

-q

Тихий режим: отключает индикатор хода выполнения, а также предупреждающие и диагностические сообщения от ssh.

-R КОЛИЧЕСТВО_ЗАПРОСОВ

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

-r

Рекурсивно копировать целые каталоги при загрузке и скачивании. Обратите внимание, что sftp не следует по символическим ссылкам, встречающимся в обходе дерева.

-v

Поднимите уровень вербальности. Эта опция также передаётся в ssh.

Графический интерфейс SFTP

SCP и SFTP являются не только утилитами, но и протоколами. То есть другие программы могут поддерживать работу с ними и использоваться в качестве удобного графического интерфейса. Благодаря этому вы сможете управлять файлами на сервере, например, через FileZilla или привычные файловые менеджеры. Подробности смотрите в статье «Как скачивать файлы по SSH».

Источник

Оцените статью