Linux sftp send file

Как использовать команду 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 :

Читайте также:  Linux удалить группы томов

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

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

Оболочка 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 .

Выводы

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

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

Читайте также:  Delete file from console linux

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

10 sFTP Command Examples to Transfer Files on Remote Servers in Linux

File Transfer Protocol (FTP) was a widely used protocol to transfer files or data remotely in an unencrypted format which is not a secure way to communicate.

As we all know that File Transfer Protocol is not at all secure because all transmissions happen in clear text and the data can be readable by anyone during sniffing the packets on the network.

sftp commands

So, basically, FTP can be used in limited cases or on the networks that you trust. Over the period of time, SCP (Secure Copy) and SSH (Secure Shell) addresses this security ambiguity and added an encrypted secure layer while transferring data between remote computers.

SFTP (Secure File Transfer Protocol) runs over SSH protocol on standard port 22 by default to establish a secure connection. SFTP has been integrated into many GUI tools (FileZilla, WinSCP, FireFTP, etc.).

Security Warnings: Please don’t open the SSH port (Secure SHell) globally as this would be a security breach. You can only open for specific IP from where you are going to transfer or manage files on the remote system or vice versa.

This article will guide you to 10 sftp command examples to use through the interactive command-line interface in the Linux terminal.

1. How to Connect to SFTP

By default, the same SSH protocol is used to authenticate and establish an SFTP connection. To start an SFTP session, enter the username and remote hostname or IP address at the command prompt. Once authentication is successful, you will see a shell with an sftp> prompt.

[[email protected] ~]# sftp [email protected] Connecting to 27.48.137.6. [email protected]'s password: sftp>

2. Getting Help

Once, you are in the sftp prompt, check the available commands by typing ‘?‘ or ‘help‘ at the command prompt.

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

3. Check Present Working Directory

The command ‘lpwd‘ is used to check the Local present working directory, whereas the pwd command is used to check the Remote working directory.

sftp> lpwd Local working directory: / sftp> pwd Remote working directory: /tecmint/
  • lpwd – print the current directory on your system
  • pwd – print the current directory on the ftp server
Читайте также:  Что такое linux backtrack

4. Listing Files with sFTP

Listing files and directories in local as well as a remote system ftp server.

On Remote
On Local

5. Upload File Using sFTP

Put single or multiple files in remote system ftp server.

sftp> put local.profile Uploading local.profile to /tecmint/local.profile

6. Upload Multiple Files Using sFTP

Putting multiple files on in remote system ftp server.

6. Download Files Using sFTP

Getting single or multiple files in a local system.

sftp> get SettlementReport_1-10th.xls Fetching /tecmint/SettlementReport_1-10th.xls to SettlementReport_1-10th.xls

Get multiple files on a local system.

Note: As we can see by default with get command download file in local system with the same name. We can download remote files with a different name by specifying the name at the end. (This applies only while downloading the single file).

7. Switching Directories in sFTP

Switching from one directory to another directory in local and remote locations.

On Remote
On Local

8. Create Directories Using sFTP

Creating new directories on local and remote locations.

9. Remove Directories Using sFTP

Remove directory or file in a remote system.

Note: To remove/delete any directory from a remote location, the directory must be empty.

10. Exit sFTP Shell

The ‘!‘ command drops us in a local shell from where we can execute Linux commands. Type ‘exit‘ command where we can see sftp> prompt return.

sftp> ! [[email protected] ~]# exit Shell exited with status 1 sftp>

Conclusion

The SFTP is a very useful tool for administrating servers and transferring files to and from (Local and Remote). We hope this tuts will help you to understand the usage of SFTP to some extent.

Источник

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