- Как использовать команду SFTP для передачи файлов
- Подготовка
- Установление SFTP-соединения
- Команды SFTP
- Навигация по SFTP
- Передача файлов по SFTP
- Загрузка файлов с помощью команды SFTP
- Загрузка файлов с помощью команды SFTP
- Манипуляции с файлами с помощью SFTP
- Выводы
- ИТ База знаний
- Полезно
- Навигация
- Серверные решения
- Телефония
- Корпоративные сети
- Руководство по установке SFTP сервера на Linux
- Что такое SFTP?
- Установка SFTP-сервера на Linux
- Этап 1: Создание групп, пользователей, каталогов
- Этап 2: Настройка sshd_config
- Этап 3: Перезагрузите службу
- Доступ к SFTP через командную строку Linux
- Примеры команд SFTP
- 15 Examples of SFTP command in Linux
- Copying files
- Connecting to an SFTP server
- Check Version
- Getting Help
- Show Working Directory
- List Files
- Switching Directories
- Upload Files
- Download Files
- Create Directory
- Remove Directory
- Remove File
- Rename File
- Filesystem Usage
- Quit SFTP Session
- Conclusion
Как использовать команду SFTP для передачи файлов
SFTP (SSH File Transfer Protocol) — это безопасный файловый протокол, который используется для доступа, управления и передачи файлов через зашифрованный транспорт SSH.
По сравнению с традиционным протоколом FTP SFTP предлагает все функции FTP, но он более безопасен и проще в настройке.
В отличие от SCP , который поддерживает только передачу файлов, SFTP позволяет выполнять ряд операций с удаленными файлами и возобновлять передачу файлов.
В этом руководстве мы покажем вам, как использовать команду Linux sftp .
Подготовка
Чтобы иметь возможность передавать файлы через SFTP, вы должны иметь разрешение на запись в удаленной системе.
При передаче больших файлов рекомендуется запускать команду sftp внутри сеанса screen или tmux .
Каталог, из которого вы запускаете команду sftp является локальным рабочим каталогом.
Установление SFTP-соединения
SFTP работает по модели клиент-сервер. Это подсистема SSH и поддерживает все механизмы аутентификации SSH.
Чтобы открыть SFTP-соединение с удаленной системой, используйте команду sftp за которой следует имя пользователя удаленного сервера и IP-адрес или имя домена:
Если вы подключаетесь к хосту с использованием аутентификации по паролю, вам будет предложено ввести пароль пользователя.
После подключения вам будет представлено приглашение sftp , и вы сможете начать взаимодействие с удаленным сервером:
Если удаленный SSH-сервер не прослушивает порт по умолчанию 22 , используйте параметр -P чтобы указать порт SFTP:
Команды SFTP
Большинство команд SFTP похожи или идентичны командам оболочки Linux.
Чтобы получить список всех доступных команд SFTP, введите help или ? .
Это выведет длинный список всех доступных команд, включая краткое описание каждой команды:
Навигация по SFTP
Когда вы вошли на удаленный сервер, ваш текущий рабочий каталог является домашним каталогом удаленного пользователя. Вы можете проверить это, набрав:
Чтобы вывести список файлов и каталогов, используйте команду ls :
Чтобы перейти в другой каталог, используйте команду cd . Например, чтобы перейти в каталог /tmp , введите:
Вышеупомянутые команды используются для навигации и работы в удаленном месте.
Оболочка SFTP также предоставляет команды для локальной навигации, управления информацией и файлами. Локальные команды начинаются с буквы l .
Например, чтобы распечатать локальный рабочий каталог, вы должны ввести:
Передача файлов по SFTP
SFTP позволяет безопасно передавать файлы между двумя машинами.
Если вы работаете на настольном компьютере, вы можете использовать SFTP-клиент с графическим интерфейсом, например WinSCP или FileZilla, для подключения к удаленному серверу и загрузки или выгрузки файлов.
Команда sftp полезна, когда вы работаете на сервере без графического интерфейса пользователя и хотите передавать файлы или выполнять другие операции с удаленными файлами.
Загрузка файлов с помощью команды SFTP
Чтобы загрузить один файл с удаленного сервера, используйте команду get :
Результат должен выглядеть примерно так:
При загрузке файлов с помощью sftp файлы загружаются в каталог, из которого вы ввели команду sftp .
Если вы хотите сохранить загруженный файл под другим именем, укажите новое имя в качестве второго аргумента:
Чтобы загрузить каталог из удаленной системы, используйте рекурсивную опцию -r :
Если передача файла не удалась или прервалась, вы можете возобновить ее с помощью команды reget .
Синтаксис reget такой же, как синтаксис get :
Загрузка файлов с помощью команды SFTP
Чтобы загрузить файл с локального компьютера на удаленный SFTP-сервер, используйте команду put :
Результат должен выглядеть примерно так:
Если файл, который вы хотите загрузить, не находится в вашем текущем рабочем каталоге, используйте абсолютный путь к файлу.
При работе с put вы можете использовать те же параметры, которые доступны с командой get .
Чтобы загрузить локальный каталог, введите:
Чтобы возобновить прерванную загрузку:
Манипуляции с файлами с помощью SFTP
Обычно для выполнения задач на удаленном сервере вы подключаетесь к нему через SSH и выполняете свою работу, используя терминал оболочки. Однако в некоторых ситуациях пользователь может иметь только SFTP-доступ к удаленному серверу.
SFTP позволяет выполнять некоторые основные команды для работы с файлами. Ниже приведены несколько примеров использования оболочки SFTP:
Получите информацию об использовании диска удаленной системой:
Создайте новый каталог на удаленном сервере:
Переименуйте файл на удаленном сервере:
Удалите файл на удаленном сервере:
Удалите каталог на удаленном сервере:
Измените права доступа к файлу в удаленной системе:
Измените владельца файла в удаленной системе:
Вы должны указать ID пользователя командам chown и chgrp .
Измените владельца группы удаленного файла с помощью:
Когда вы закончите свою работу, закройте соединение, набрав « bye или « quit .
Выводы
В этом руководстве мы показали вам, как использовать команду sftp для загрузки и выгрузки файлов на удаленный сервер SFTP.
Вы также можете настроить аутентификацию на основе ключа SSH и подключаться к своим серверам Linux без ввода пароля. Если вы регулярно подключаетесь к одним и тем же системам, вы можете упростить рабочий процесс, указав все свои подключения в файле конфигурации SSH .
Не стесняйтесь оставлять комментарии, если у вас есть вопросы или отзывы.
Источник
ИТ База знаний
Курс по Asterisk
Полезно
— Узнать IP — адрес компьютера в интернете
— Онлайн генератор устойчивых паролей
— Онлайн калькулятор подсетей
— Калькулятор инсталляции IP — АТС Asterisk
— Руководство администратора FreePBX на русском языке
— Руководство администратора Cisco UCM/CME на русском языке
— Руководство администратора по Linux/Unix
Навигация
Серверные решения
Телефония
FreePBX и Asterisk
Настройка программных телефонов
Корпоративные сети
Протоколы и стандарты
Руководство по установке SFTP сервера на Linux
3 минуты чтения
Привет, друг! Мы подготовили удобную инструкцию по установке и настройке SFTP-сервера Linux.
Онлайн курс по Linux
Мы собрали концентрат самых востребованных знаний, которые позволят тебе начать карьеру администратора Linux, расширить текущие знания и сделать уверенный шаг к DevOps
Что такое SFTP?
SFTP — это безопасный протокол передачи файлов — «Secure SHell» File Transfer Protocol. То есть это версия FTP, которая для безопасности поверх использует SSH. FTP делает то же самое, но без шифрования, поэтому использовать SFTP предпочтительнее.
Установка SFTP-сервера на Linux
Чтобы выполнить эти шаги, вам нужно иметь права sudo. SFTP прост в установке, но сначала необходимо установить OpenSSH со стороны сервера и SSH-пакет со стороны клиента.
Чтобы установить OpenSSH на сервер, используйте следующую команду:
Вам также понадобится SSH на компьютере, с которого вы хотите получать доступ к серверу SFTP.
Теперь все готово для настройки SFTP.
Этап 1: Создание групп, пользователей, каталогов
Для безопасного использования SFTP, лучше всего создать группы и пользователей, которые будут использовать только эту службу.
Создадим группу с названием sftpg, при помощи комыды groupadd :
Далее создадим пользователя seenisftp, и добавим его в группу.
В команде useradd параметр -g указывает группе, какого пользователя нужно добавить.
Предположим, что вы хотите использовать каталог /data/ в качестве корневого для sftp, а /data/USERNAME — для каждого пользователя. Поэтому, когда пользователи входят через sftp, они должны будут оказаться в каталоге /data/USERNAME . Также создадим ограничение при котором пользователи смогут читать файлы из этого каталога, но загружать их смогут только в каталог uploads .
Cоздадим каталоги и изменим их доступ:
Важно: убедитесь, что владелец /data/USERNAME и есть root, это обязательно для изменения корневого каталога в SFTP
Этап 2: Настройка sshd_config
Далее нужно настроить сервер так, чтобы когда пользователь, из группы sftpg, входил в систему, он попадал в sftp вместо обычной оболочки, в которую попадает через ssh. Добавьте следующий фрагмент кода в файл /etc/ssh/sshd_config :
ChrootDirectory позволяет создать необходимый каталог в качестве корневого узла ( / каталог) в дереве каталогов. Вошедший в систему пользователь не сможет увидеть ничего выше этого каталога и это не даст ему получить доступ к файлам других пользователей. %u — это escape код для заполнения его текущим именем пользователяm, во время входа в систему.
Этап 3: Перезагрузите службу
Чтобы выполнить внесенные в sshd_config изменения, перезапустите службу:
Доступ к SFTP через командную строку Linux
Заходите в SFTP также как в SSH:
Примеры команд SFTP
Синтаксис команд SFTP:
Параметрами могут быть либо локальные, либо удаленные системные пути.
- GET — загрузка содержимого с удаленного сервера в локальную систему.
- PUT — загрузка содержимого из локальной системы в удалённую.
- RM – предназначен для удаления файлов в удалённой системе.
Мини — курс по виртуализации
Знакомство с VMware vSphere 7 и технологией виртуализации в авторском мини — курсе от Михаила Якобсена
Источник
15 Examples of SFTP command in Linux
Geekflare is supported by our audience. We may earn affiliate commissions from buying links on this site.
SFTP or Secure File Transfer Protocol is a secure remote file transfer utility based on File Transfer Protocol (FTP).
FTP traffic is unencrypted and insecure which is why it has been mostly replaced by SFTP.
SFTP runs over SSH protocol by default on TCP port 22 and offers the same set of security and encryption capabilities as SSH. Default SSH daemon running as part of OpenSSH server on Linux systems supports basic features of SFTP protocol by default though there is separate dedicated software available like vsftpd which can be configured to get extra features and customizations.
In this article, we’ll cover the usage of SFTP from the command line. I’ll be using an Ubuntu system though commands listed here will work on any Linux system with sftp client.
Before getting into commands, you should know that SCP is getting deprecated and as an alternative, it’s good to get familiar with the SFTP command. You can do pretty much everything with SFTP that you do with SCP.
Copying files
SFTP can be used as a replacement for SCP (Secure Copy) command on some supported use cases. One such case is using SCP to push or pull files from a remote server in one go.
The syntax for uploading using the SCP command goes like this:
And for downloading like this:
Similarly, we can use the following sftp command syntax to upload files to a remote server:
Below is one demo showing uploading of files using sftp as a one-liner:
To download a file from a remote server, use the below command syntax:
Here’s a demo of downloading a file in one line using sftp:
You may also exchange the SSH key for password-less authentication.
Connecting to an SFTP server
To initiate an SFTP connection, use sftp command with a username and remote host’s name or IP. Default TCP port 22 should be open for this to work or else explicitly specify the port using -oPort flag.
I’m connecting to an SFTP server with IP 192.168.1.231 . The first time you connect to an SFTP server, you’ll be prompted to confirm the server fingerprint like SSH. Once confirmed by typing ‘yes‘ connection proceeds and prompts for a user’s password.
On a successful connection, you’ll be shown sftp> prompt.
Check Version
You can check the SFTP version using version command at sftp prompt.
Getting Help
To get help about available commands and syntax for SFTP, use ‘?‘ or ‘help‘.
Show Working Directory
When connected to a remote server, you can show the present working directory of the remote system using pwd command.
To show the local system’s present working directory use lpwd command.
List Files
You can list files in the remote working directory using ls command.
To list files in the local working directory, use lls command.
Switching Directories
Switching the remote working directory can be done using cd command. Refer example below:
To switch local working directory, use lcd command. Below is a simple example to show usage of lcd .
Upload Files
To upload a single file, use put command. See how I upload local file1 to remote working directory using put command. I can verify it using ls command which prints the content of remote working directory.
To upload multiple files in one go, we can use mput command as shown below. I use mput with a regular expression pattern file[23] which basically uploads file2 and file3 and skips file1 as it has already been uploaded in the previous step. You can use any wildcard or regular expression with mput.
Download Files
Single file using SFTP can be downloaded using get command. Here’s an example where I downloaded remote_file4 using sftp:
To download multiples files, use mget command. I’m downloading here all files that matches pattern remote_file* in remote working directory to my local working directory. I finally use lls command to see the downloaded files.
Create Directory
A new directory can be created on a remote server using mkdir command.
Similarly, if you want to create a new directory on local system’s current working directory from sftp prompt, use lmkdir command.
Remove Directory
An empty remote directory can be removed using rmdir command. Do note that if it is not empty, you’ll get an error.
Remove File
A remote file can be removed using rm command.
Rename File
A remote file can also be easily renamed using rename command.
Filesystem Usage
To display statistics for the current directory or filesystem containing ‘path’, use df command. We can use -h flag to show statistics in a human-readable format. Do note that the statistics shown are for the remote SFTP server’s respective filesystem and not the local machine’s filesystem.
Quit SFTP Session
To quit the SFTP session, use either bye , exit , or quit command. You’ll be returned to your OS prompt after exiting SFTP.
Conclusion
SFTP is one of the best options available which is secure as well as easy to use. It offers CLI as well as GUI features and is supported across different platforms. Refer sftp man page for further reading.
If interested in learning more then check out this Udemy Linux Mastery course.
Источник