SFTP – это протокол, который предлагает безопасный и частный канал для передачи файлов между системами с использованием шифрования.
Существует неправильное представление об аббревиатуре SFTP, и некоторые думают, что оно означает протокол Secure File Transfer Protocol.
Оно означает протокол SSH File Transfer Protocol. Где в «FTPS» отличается, клиент FTPS сначала проверяет, доверен ли сервер ftps-сервера, и использует протокол Secure Sockets Layer (TLS).
Хорошо бы почитать, как настроить VSFTPD SFTP с SSL / TLS на Ubuntu 18.04
Можно простить мнение о том, что SFTP и FTP схожи по функциональности, но оба используют различные протоколы.
Поэтому вы не можете использовать стандартный FTP-клиент для подключения к SFTP-серверу.
В этом руководстве мы сосредоточимся на часто используемых командах SFTP.
Читайте также: Массовое удаление файлов на FTP-сервере
Стандартное приложение SFTP – это запуск на командном интерфейсе в рамках собственной среды.
Поэтому в большинстве случаев вы заметите, что интерфейс программы меняется на приглашение sftp>.
В тот момент, когда вы вызывают сеанс SFTP, обычные системные команды не будут выполняться, если вы не вызовете их с использованием определенного языка, который находится в стандарте командной строки SFTP.
Не все компьютеры могут обрабатывать команды SFTP.
Вы можете использовать версию графического интерфейса SFTP или командную строку в зависимости от используемой операционной системы.
Интерфейс GUI требует установки утилиты SFTP.
В этой статье мы рассмотрим некоторые примеры команд SFTP, которые вы можете использовать с помощью командной строки unix / linux.
Как подключиться к SFTP
Протокол SSH, используемый для установления связи, такой же, как и для SFTP-канала.
Большинство людей предпочитают использовать сохраненные пароли, установленные по умолчанию, но я бы рекомендовал использовать ключи SSH, которые вы можете использовать, когда вам нужно получить доступ к любой системе.
Чтобы запустить сеанс SFTP, вам потребуется имя пользователя и имя удаленного хоста.
В качестве альтернативы вы можете использовать IP-адрес имени хоста в строке, как показано ниже:
~ # sftp sftpuser@216.200.116.229 sftpuser@216.200.116.229's password: Connected to sftpuser@216.200.116.229.
В приведенном выше примере, если есть соединение, которое позволяет обрабатывать указанную выше команду, вы должны ожидать приглашения пароля перед получением доступа.
1) Как получить подсказку в строке запроса
Если у вас нет подсказки о типе или формате, который может использоваться в командной строке SFTP, используйте «?» Или «help» в ответ на приглашение следующим образом
sftp ?
2) Подтвердить рабочий каталог
Используя команду lpwd, вы получите больше информации о рабочем каталоге.
Параметр pwd используется для проверки удаленного рабочего каталога.
sftp> lpwd
Вывод
Local working directory: /root
sftp> pwd
Вывод
Remote working directory: /upload
3) Отобразить файлы
В командной строке SFTP вы указываете как удаленные, так и локальные файлы, используя разные команды.
Удаленный список
sftp> ls
Локальный список
sftp> lls
4) Загрузка файлов
Загрузка может происходить путем размещения одного или нескольких файлов на удаленном хосте.
Один файл на удаленном хосте,
sftp> put Hello-World.txt
Вывод
Uploading Hello-World.txt to /upload/Hello-World.txt Hello-World.txt
Несколько файлов на удаленном хосте
sftp> mput *.txt
Вывод
Uploading Hello-World.txt to /upload/Hello-World.txt Hello-World.txt 100% 0 0.0KB/s 00:00 Uploading file1.txt to /upload/file1.txt file1.txt 100% 0 0.0KB/s 00:00 Uploading file2.txt to /upload/file2.txt file2.txt 100% 0 0.0KB/s 00:00 Uploading file3.txt to /upload/file3.txt file3.txt 100% 0 0.0KB/s 00:00 Uploading file4.txt to /upload/file4.txt file4.txt 100% 0 0.0KB/s 00:00
5) Скачивание файлов
Вы сможете загрузить один или несколько файлов по локальному пути или системе.
sftp> get file1.pdf
Вывод
Fetching /upload/file1.pdf to file1.pdf
Загрузите несколько файлов по локальному пути или системе
sftp> mget * .pdf
Вывод
Fetching /upload/file1.pdf to file1.pdf Fetching /upload/file2.pdf to file2.pdf Fetching /upload/file3.pdf to file3.pdf Fetching /upload/file4.pdf to file4.pdf Fetching /upload/file5.pdf to file5.pdf
Очевидно, что при загрузке файла в локальной системе выполняется тоже имя.
Если вы хотите использовать другое имя при удаленной загрузке файла, имя должно быть указано в конце команды.
6) Смена каталогов
На удаленном сервере вы используете команду:
sftp> cd test
На локальной машине вы используете команду:
sftp> lcd Documents
7) Создание каталогов
Возможно создание каталогов на удаленных и локальных путях
Новый каталог по локальном пути
sftp> mkdir test
Новый каталог на удаленном хосте
sftp> lmkdir Documents
8) Удаление каталогов
Удаление каталога или файла на удаленных хостах
Удаление файла на удаленных хостах
sftp> rm Report.xls
Удаление каталога на удаленных хостах
sftp> rmdir Department
Примечание. Эта команда будет работать только в том случае, если целевой каталог пуст
9) Выход из командной оболочки
Восклицательный знак! (известная как команда в этом случае) используется для выхода из командной строки SFTP, как показано в следующем примере.
sftp>! [root@sftp ~]# exit Shell exited with status 1 sftp>