Использование команд и опций SFTP

SFTP (Safe File Transfer Protocol) - это часть протокола SSH, предназначенная для безопасной передачи файлов между удаленными системами. Он позволяет пользователям просматривать, управлять и изменять разрешения файлов и каталогов на удаленных системах.

linux

Список команд и опций SFTP

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

При подключении к серверу SFTP открывается интерфейс оболочки SFTP. Интерфейс оболочки SFTP поддерживает следующие команды:

Команда Описание
cd [путь] Измените каталог на удаленном сервере на [путь]
lcd [путь] Измените каталог в локальной системе на [путь]
chgrp [ID группы] [путь] Измените владельца группы на [идентификатор группы] для файла или папки, расположенной по адресу [путь]
chmod [режим] [путь] Изменить право владельца на [режим] для файла или папки, расположенной по адресу [путь]
chown [ID пользователя] [путь] Измените владельца на [идентификатор пользователя] для файла или папки, расположенной по адресу [путь]
help Вывод текста справки
get [удаленный путь] [локальный путь] Передача файла или каталога из [удаленный путь] на удаленном сервере в [локальный путь] на локальной системе
lls [опции] [путь] Вывести листинг для каталога, расположенного по адресу [path] в локальной системе. Использует опции команды ls
ln [старый путь] [новый путь] Создайте симлинк с [старый путь] на [новый путь] на удаленном сервере
lmkdir [путь] Создайте каталог по адресу [path] в локальной системе
lpwd Отображение текущего локального каталог
ls [опции] [путь] Отображение листинга для каталога, расположенного по адресу [path] на удаленном сервере. Использует параметры команды ls.
lumask [маска] Установите маску локальных разрешений на [маска]
mkdir [путь] Создайте каталог по адресу [путь] на удаленном сервере
put [локальный путь] [удаленный путь] Передача файла или каталога из [локальный путь] на локальной системе в [удаленный путь] на удаленном сервере
pwd Отображение текущего удаленного каталога
exit Выход из интерфейса SFTP
quit Выход из интерфейса SFTP
rename [старый путь] [новый путь] Переименуйте файл на удаленном сервере со [старый путь] на [новый путь]
rmdir [путь] Удалите каталог, расположенный по адресу [путь] на удаленном сервере
rm [путь] Удалите файл, расположенный по адресу [путь] на удаленном сервере
symlink [старый путь] [новый путь] Создайте симлинк с [старый путь] на [новый путь] на удаленном сервере
version Отображение текущей версии SFTP
![команда] Выполните [команду] в локальной оболочке
! Временно перейдите в локальную оболочку
? Отображение текста справки

Подключение к SFTP

При подключении к SFTP используется тот же синтаксис, что и при подключении к удаленной системе с помощью SSH:

Например, подключение к серверу с именем пользователя user на IP-адресе 192.168.1.99:

Если соединение успешно, оболочка переходит к интерфейсу SFTP, на который указывает sftp> вместо текущего имени пользователя

При подключении к удаленной системе с помощью SFTP используйте следующие опции команды sftp, чтобы изменить ее поведение:

Опция Описание
-1 При подключении используйте версию 1 протокола SSH.
-4 Используйте только адреса IPv4.
-6 Использовать только адреса IPv6.
-A Позволяет перенаправить агент аутентификации SSH на удаленный сервер.
-a Попытка продолжить прерванную передачу файлов.
-B [размер буфера] Задать пользовательский размер буфера (значение по умолчанию - 32 768 байт).
-b [пакетный файл] Указать пакетный файл для запуска команды sftp в пакетном режиме.
-C Использовать сжатие файлов.
-c [шифр] Выберите шифр, который будет использоваться при шифровании данных для передачи.
-D [путь к SFTP-серверу] Подключиться к локальному SFTP-серверу без использования SSH.
-F [файл конфигурации SSH] Укажите конфигурационный файл SSH, который будет использоваться при подключении.
-f Смывать файлы на диск сразу после передачи.
-i [файл закрытого ключа] Выберите файл, содержащий закрытый ключ для аутентификации с открытым ключом.
-J [место назначения] Настройте переадресацию TCP через указанное место назначения.
-l [кбит/с] Установить ограничение на пропускную способность соединения в кбит/с.
-N Отключить тихий режим.
-o [опция SSH] Добавить опцию команды ssh при подключении к SFTP.
-P [номер порта] Задать порт для подключения.
-p Сохранять разрешения файлов и время доступа при передаче.
-q Включить тихий режим.
-R [количество запросов] Установить количество разрешенных одновременных запросов на передачу файлов.
-r Передавать каталоги рекурсивно.
-S [клиент] Укажите SFTP-клиент, который вы хотите использовать для подключения.
-s [путь к SSH-подсистеме или SFTP-серверу] Выбрать подсистему SSH2 или путь к SFTP-серверу.
-v Вести подробный журнал сеанса.

Используйте команду exit для завершения текущего соединения:

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

Используйте команды get и put для создания запроса на передачу файлов в SFTP. Команда get переносит файлы с удаленного сервера на локальную систему, а команда put делает обратное.

Команда get использует следующий основной синтаксис:

С помощью команды get файл передается с удаленного сервера в каталог Home локальной системы. Например:

Передача файла с удаленного сервера в локальную систему с помощью команды SFTP get

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

Чтобы передать файл в другой каталог, добавьте имя каталога в конец команды get или put:

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

Команды get и put используют следующие параметры:

Опция Описание
-a Попытка возобновить передачу файла.
-f Сразу же после передачи сбрасывайте файл на диск.
-p Сохранять разрешения и время доступа к файлу при передаче.
-R Передавать весь каталог рекурсивно. При использовании этой опции задайте путь к каталогу вместо пути к файлу.

Изменение разрешений файлов

SFTP также позволяет изменять разрешения на файлы и каталоги на удаленном сервере. Команда chown изменяет права собственности на файл для отдельных пользователей:

В отличие от команды chown, которая требует указания идентификатора пользователя, команда chmod работает так же, как и в стандартной оболочке:

Другой вариант - использовать команду chgrp для изменения группового права собственности на файл:

SFTP также позволяет установить локальный umask, изменяющий разрешение по умолчанию для всех будущих файлов, передаваемых в локальную систему. Используйте команду lumask, чтобы установить новый локальный umask:

Управление файлами и каталогами

SFTP предоставляет опции, которые позволяют пользователям просматривать и управлять файлами как на локальной системе, так и на удаленном сервере. Команда ls позволяет вывести список файлов и каталогов на удаленном сервере. Например:

Аналогично, команда lls (local ls) выводит список файлов и каталогов на локальной системе:

Команда ls, и команда lls в SFTP используют стандартные опции команды ls.

Команды cd и lcd изменяют текущий рабочий каталог на удаленном сервере или локальной системе, соответственно:

Команда mkdir создает на удаленном сервере каталог с указанным вами путем:

Например, создаем каталог Example в каталоге Home:

Команда mkdir не имеет вывода, поэтому для проверки результата нужно использовать команду ls.

Аналогично, команда lmkdir создает каталог в локальной системе:

Используя тот же пример:

Команда rename изменяет имя файла или каталога на удаленном сервере:

Например, переименование example.txt в sample.txt:

С помощью команды rm файл удаляется с удаленного сервера:

Например, удаление файла sample.txt:

Аналогично, команда rmdir удаляет каталог с удаленного сервера:

Например, удаляем каталог Example:

Команды ln и symlink создают символическую ссылку на файл или каталог на удаленном сервере:

Например, создание ссылки на файл example.txt с именем example_link с помощью команды ln:

Команда pwd показывает на выходе текущий рабочий каталог на удаленном сервере:

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

Выполнение команд локальной оболочки

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

Например, SFTP не поддерживает команду tree в Linux. Используя локальную оболочку, вы можете выполнить эту команду в интерфейсе SFTP:

Использование восклицательного знака (!) без команды временно переводит пользователя в локальную оболочку. Чтобы вернуться в оболочку SFTP, используйте команду exit.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий