Sftp in linux shell

Как использовать команду SFTP для передачи файлов

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

По сравнению с традиционным протоколом FTP SFTP предлагает все функции FTP, но он более безопасен и проще в настройке.

В отличие от SCP , который поддерживает только передачу файлов, SFTP позволяет выполнять ряд операций с удаленными файлами и возобновлять передачу файлов.

В этом руководстве мы покажем вам, как использовать команду Linux sftp .

Подготовка

Чтобы иметь возможность передавать файлы через SFTP, вы должны иметь разрешение на запись в удаленной системе.

При передаче больших файлов рекомендуется запускать команду sftp внутри сеанса screen или tmux .

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

Не путайте SFTP с FTPS. Оба протокола служат одной цели. Однако FTPS означает FTP Secure и является расширением стандартного протокола FTP с поддержкой TLS.

Установление SFTP-соединения

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

Чтобы открыть SFTP-соединение с удаленной системой, используйте команду sftp за которой следует имя пользователя удаленного сервера и IP-адрес или имя домена:

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

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

Если удаленный SSH-сервер не прослушивает порт по умолчанию 22 , используйте параметр -P чтобы указать порт SFTP:

Команды SFTP

Большинство команд SFTP похожи или идентичны командам оболочки Linux.

Чтобы получить список всех доступных команд SFTP, введите help или ? .

Это выведет длинный список всех доступных команд, включая краткое описание каждой команды:

Available commands: bye Quit sftp cd path Change remote directory to 'path' . . version Show SFTP version !command Execute 'command' in local shell ! Escape to local shell ? Synonym for help 

Когда вы вошли на удаленный сервер, ваш текущий рабочий каталог является домашним каталогом удаленного пользователя. Вы можете проверить это, набрав:

Remote working directory: /home/remote_username 

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

Чтобы перейти в другой каталог, используйте команду cd . Например, чтобы перейти в каталог /tmp , введите:

Читайте также:  Kubuntu linux настройка сети

Вышеупомянутые команды используются для навигации и работы в удаленном месте.

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

Например, чтобы распечатать локальный рабочий каталог, вы должны ввести:

Local working directory: /home/local_username 

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

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

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

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

Загрузка файлов с помощью команды SFTP

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

Результат должен выглядеть примерно так:

Fetching /home/remote_username/filename.zip to filename.zip /home/remote_username/filename.zip 100% 24MB 1.8MB/s 00:13 

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

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

get filename.zip local_filename.zip

Чтобы загрузить каталог из удаленной системы, используйте рекурсивную опцию -r :

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

Синтаксис reget такой же, как синтаксис get :

Загрузка файлов с помощью команды SFTP

Чтобы загрузить файл с локального компьютера на удаленный SFTP-сервер, используйте команду put :

Результат должен выглядеть примерно так:

Uploading filename.zip to /home/remote_username/filename.zip filename.zip 100% 12MB 1.7MB/s 00:06 

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

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

Чтобы загрузить локальный каталог, введите:

Чтобы возобновить прерванную загрузку:

Манипуляции с файлами с помощью SFTP

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

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

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

 Size Used Avail (root) %Capacity 20616252 1548776 18002580 19067476 7%
rename file_name new_file_name

Когда вы закончите свою работу, закройте соединение, набрав « bye или « quit .

Читайте также:  Узнать где лежит python linux

Выводы

В этом руководстве мы показали вам, как использовать команду sftp для загрузки и выгрузки файлов на удаленный сервер SFTP.

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

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

10 полезных SFTP команд

img

Протокол передачи файлов (FTP) был широко используемым протоколом для удаленной передачи файлов или данных в незашифрованном формате, что не является безопасным способом связи. Поскольку все мы знаем, что FTP совсем не безопасен, потому что все передачи происходят в незашифрованном тексте, и данные могут быть прочитаны кем угодно во время прослушивания пакетов в сети.

10 полезных SFTP команд

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

SFTP (Secure File Transfer Protocol) по умолчанию работает по протоколу SSH на стандартном порту 22 для установления безопасного соединения. SFTP был интегрирован во многие инструменты GUI (FileZilla, WinSCP, FireFTP и так далее).

Предупреждение безопасности: Пожалуйста, не открывайте порт SSH (Secure SHell) глобально, так как это может привести к нарушениям безопасности. Вы можете открыть только для определенного IP-адреса, с которого вы собираетесь передавать или управлять файлами в удаленной системе или наоборот.

Эта статья познакомит вас с 10 примерами команд sftp, которые вы можете использовать через интерфейс командной строки.

Как подключиться к SFTP

По умолчанию один и тот же протокол SSH используется для проверки подлинности и установления соединения SFTP. Чтобы начать сеанс SFTP, введите имя пользователя и имя удаленного хоста или IP-адрес в командной строке. После успешной аутентификации вы увидите оболочку с приглашением sftp> .

[root@merionet ~]# sftp merionet@127.48.137.6 Connecting to 127.48.137.6. merionet@127.48.137.6's password: sftp>

Получение помощи

Оказавшись в командной строке sftp проверьте доступные команды, набрав ‘? ‘ Или ‘help’ в командной строке.

sftp> ? Available commands: cd path Change remote directory to 'path' lcd path Change local directory to 'path' chgrp grp path Change group of file 'path' to 'grp' chmod mode path Change permissions of file 'path' to 'mode' chown own path Change owner of file 'path' to 'own' help Display this help text get remote-path [local-path] Download file lls [ls-options [path]] Display local directory listing ln oldpath newpath Symlink remote file lmkdir path Create local directory lpwd Print local working directory ls [path] Display remote directory listing lumask umask Set local umask to 'umask' mkdir path Create remote directory put local-path [remote-path] Upload file pwd Display remote working directory exit Quit sftp quit Quit sftp rename oldpath newpath Rename remote file rmdir path Remove remote directory rm path Delete remote file symlink oldpath newpath Symlink remote file version Show SFTP version !command Execute 'command' in local shell ! Escape to local shell ? Synonym for help
Проверьте текущий рабочий каталог

Команда «lpwd» используется для проверки локального текущего рабочего каталога, а команда «pwd» — для проверки удаленного рабочего каталога.

sftp> lpwd Local working directory: / sftp> pwd Remote working directory: /merionet/
Список файлов

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

sftp> ls [На локальной] sftp> lls [На удаленной]
Загрузить файл

Поместите один или несколько файлов в удаленную систему.

sftp> put local.profile Uploading local.profile to /merionet/local.profile
Загрузить несколько файлов

Размещение нескольких файлов на удаленной системе.

Читайте также:  Which linux kernel to install
Скачать файлы

Получение одного или нескольких файлов в локальной системе.

sftp> get SettlementReport_1-10th.xls Fetching /merionet/SettlementReport_1-10th.xls to SettlementReport_1-10th.xls
Получить несколько файлов в локальной системе.

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

Переключение каталогов

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

sftp> cd test [На локальной] sftp> lcd Documents [На удаленной]
Создать каталоги

Создание новых каталогов в локальных и удаленных местах.

sftp> mkdir test [На локальной] sftp> lmkdir Documents [На удаленной]
Удалить каталоги

Удалить каталог или файл в удаленной системе.

sftp> rm Report.xls [На локальной] sftp> rmdir sub1 [На удаленной]

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

Выход из sFTP Shell

Команда ‘!’ выкидывает нас в локальную оболочку, откуда мы можем выполнять команды Linux. Введите команду ‘exit’, после чего мы сможем увидеть подсказку sftp>.

sftp> ! [root@sftp ~]# exit Shell exited with status 1 sftp>

Источник

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