Android

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

Transferencia de ficheros (Linux y MAC OS X vía SFTP)

Transferencia de ficheros (Linux y MAC OS X vía SFTP)

Оглавление:

Anonim

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 :

reget filename.zip

Загрузка файлов с помощью команды 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

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

reput filename.zip

Файловые манипуляции с 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