- Как использовать команду SFTP для передачи файлов
- Подготовка
- Установление SFTP-соединения
- Команды SFTP
- Навигация по SFTP
- Передача файлов по SFTP
- Загрузка файлов с помощью команды SFTP
- Манипуляции с файлами с помощью SFTP
- 10 sFTP Command Examples to Transfer Files on Remote Servers in Linux
- 1. How to Connect to SFTP
- 2. Getting Help
- 3. Check Present Working Directory
- 4. Listing Files with sFTP
- 5. Upload File Using sFTP
- 6. Upload Multiple Files Using sFTP
- 6. Download Files Using sFTP
- 7. Switching Directories in sFTP
- 8. Create Directories Using sFTP
- 9. Remove Directories Using sFTP
- 10. Exit sFTP Shell
- Conclusion
Как использовать команду 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
Навигация по SFTP
Когда вы вошли на удаленный сервер, ваш текущий рабочий каталог является домашним каталогом удаленного пользователя. Вы можете проверить это, набрав:
Remote working directory: /home/remote_username
Чтобы вывести список файлов и каталогов, используйте команду ls :
Чтобы перейти в другой каталог, используйте команду 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 .
Не стесняйтесь оставлять комментарии, если у вас есть вопросы или отзывы.
10 sFTP Command Examples to Transfer Files on Remote Servers in Linux
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.
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
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.