Transferencia de ficheros (Linux y MAC OS X vía SFTP)
Оглавление:
- Прежде чем вы начнете
- Установление SFTP-соединения
- Команды SFTP
- Навигация по SFTP
- Передача файлов с SFTP
- Загрузка файлов с помощью команды SFTP
- Загрузка файлов с помощью команды SFTP
- Файловые манипуляции с SFTP
- Вывод
SFTP (SSH File Transfer Protocol) - это защищенный файловый протокол, используемый для доступа, управления и передачи файлов по зашифрованному SSH-транспорту.
По сравнению с традиционным протоколом FTP, SFTP предлагает все функции FTP, и его проще настраивать.
В отличие от команды
scp command
, которая разрешает только передачу файлов, команда
sftp
позволяет выполнять ряд операций с удаленными файлами и возобновлять передачу файлов.
В этом уроке мы покажем вам, как использовать команду Linux
sftp
.
Прежде чем вы начнете
Чтобы иметь возможность передавать и управлять файлами через SFTP, у вас должно быть разрешение на запись в удаленной системе.
При передаче больших файлов рекомендуется запускать команду sftp внутри сеанса экрана или tmux.
Каталог, из которого вы запускаете команду
sftp
является локальным рабочим каталогом.
Установление SFTP-соединения
SFTP работает по модели клиент-сервер. Это подсистема SSH и поддерживает все механизмы аутентификации SSH.
Хотя традиционная аутентификация по паролю настроена по умолчанию и более проста в использовании, если вы регулярно подключаетесь к своему серверу через SSH / SFTP, рекомендуется создать ключи SSH и настроить логин SFTP без пароля.
Чтобы открыть SFTP-соединение с удаленной системой, используйте команду
sftp
за которой следует имя пользователя удаленного сервера и IP-адрес или имя домена:
sftp remote_username@server_ip_or_hostname
После подключения вы увидите приглашение
sftp
и сможете начать взаимодействие с удаленным компьютером:
Connected to remote_username@server_ip_or_hostname. sftp>
Если удаленный сервер SSH не прослушивает порт по умолчанию 22, используйте параметр
-oPort
чтобы указать альтернативный порт:
sftp -oPort=custom_port remote_username@server_ip_or_hostname
Команды SFTP
Большинство команд SFTP похожи или идентичны командам, которые вы используете в командной строке Linux.
Вы можете получить список всех доступных команд SFTP, набрав
help
или
?
,
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
Когда вы вошли на удаленный сервер, текущим рабочим каталогом является домашний каталог удаленного пользователя. Вы можете проверить это, набрав:
pwd
Remote working directory: /home/remote_username
Чтобы вывести список файлов и каталогов, используйте команду
ls
:
ls
Чтобы перейти в другой каталог, используйте команду
cd
. Например, чтобы перейти в каталог
/tmp
вы должны набрать:
cd /tmp
Вышеуказанные команды используются для навигации и работы в удаленном местоположении.
Оболочка
sftp
также предоставляет команды для локальной навигации, управления информацией и файлами. Местные команды начинаются с буквы
l
.
Например, чтобы напечатать локальный рабочий каталог, вы должны набрать:
cd lpwd
Local working directory: /home/local_username
Передача файлов с SFTP
С SFTP вы можете безопасно передавать файлы между двумя компьютерами.
Команда
sftp
полезна, когда вы работаете на сервере без графического интерфейса и хотите передавать файлы или выполнять другие операции с удаленными файлами.
Загрузка файлов с помощью команды SFTP
После входа на удаленный сервер текущим рабочим каталогом является домашний каталог удаленного пользователя.
При загрузке файлов с помощью команды
sftp
файлы загружаются в каталог, из которого вы ввели команду
sftp
.
Чтобы загрузить один файл с удаленного сервера, используйте команду
get
:
get filename.zip
Вывод должен выглядеть примерно так:
Fetching /home/remote_username/filename.zip to filename.zip /home/remote_username/filename.zip 100% 24MB 1.8MB/s 00:13
get filename.zip local_filename.zip
Чтобы загрузить каталог из удаленной системы, используйте параметр рекурсивный
-r
:
get -r remote_directory
Если передача файла не удалась или прервалась, вы можете возобновить ее, используя команду
reget
.
Синтаксис
reget
такой же, как и синтаксис
get
:
Загрузка файлов с помощью команды SFTP
Чтобы загрузить файл с локального компьютера на удаленный SFTP-сервер, используйте команду
put
:
put filename.zip
Вывод должен выглядеть примерно так:
Uploading filename.zip to /home/remote_username/filename.zip filename.zip 100% 12MB 1.7MB/s 00:06
Если файл, который вы хотите загрузить, не находится в вашем текущем рабочем каталоге, используйте абсолютный путь к файлу.
При работе с
put
вы можете использовать те же опции, которые доступны с командой
get
.
Чтобы загрузить локальный каталог, вы должны набрать:
put -r locale_directory
Чтобы возобновить прерванную загрузку:
Файловые манипуляции с SFTP
Как правило, для выполнения задач на удаленном сервере вы должны подключиться к нему через SSH и выполнять свою работу с помощью терминала оболочки. Однако в некоторых ситуациях пользователь может иметь только SFTP-доступ к удаленному серверу.
SFTP позволяет выполнять некоторые основные команды для работы с файлами. Ниже приведены некоторые примеры использования оболочки SFTP:
-
Получите информацию об использовании диска удаленной системы:
df
Size Used Avail (root) %Capacity 20616252 1548776 18002580 19067476 7%
Создайте новый каталог на удаленном сервере:
mkdir directory_name
Переименуйте файл на удаленном сервере:
rename file_name new_file_name
Удалить файл на удаленном сервере:
rm file_name
Удалить каталог на удаленном сервере:
rmdir directory_name
Измените права доступа к файлу в удаленной системе:
chmod 644 file_name
Измените владельца файла в удаленной системе:
chown user_id file_name
Вы должны указать идентификатор пользователя для команд
chown
иchgrp
.Измените владельца группы удаленного файла с помощью:
chgrp group_id file_name
Когда вы закончите работу, закройте соединение, набрав
bye
или
quit
.
Вывод
В этом руководстве мы показали, как использовать команду
sftp
для загрузки и выгрузки файлов на удаленный SFTP-сервер.
Вы также можете настроить аутентификацию на основе ключей SSH и подключаться к серверам Linux без ввода пароля.
Не стесняйтесь оставлять комментарии, если у вас есть какие-либо вопросы или отзывы.
терминал sftpПрограммное обеспечение для передачи данных: Android-инструмент для передачи файлов
Взгляните на то, что, вероятно, лучшее приложение для передачи файлов для устройств Android. Это универсальное решение для ваших задач по передаче файлов.
Как использовать команду Linux Linux для передачи файлов
FTP (File Transfer Protocol) - это стандартный сетевой протокол, используемый для передачи файлов в удаленную сеть и из нее. В этом руководстве мы покажем вам, как использовать команду linux ftp на практических примерах.
Как использовать команду scp для безопасной передачи файлов
В этом руководстве мы покажем вам, как использовать команду scp, на практических примерах и подробных объяснениях наиболее распространенных параметров scp.