SFTP (SSH File Transfer Protocol) – это защищенный протокол для передачи файлов между локальным и удаленным сервером. Требуется SSH-сервер, работающий в удаленной системе. Этот протокол шифрует передачу данных между локальной и удаленной системой. Поскольку SFTP обеспечивает безопасную передачу данных, мы рекомендуем использовать его по протоколу FTP.
Подключитесь к SFTP-серверу:
SFTP подключается к ssh-серверу. У вас должен быть запущен ssh-сервер в удаленной системе. Используйте следующую команду для подключения к серверу от имени пользователя andreyex.
$ sftp [email protected]
для подключения к другому порту
$ sftp -P 2222 [email protected]
После успешной аутентификации вы получите приглашение sftp. Где вы можете безопасно скачивать или выгружать файлы. Чтобы получить доступные команды, введите в командной help строке sftp.
sftp> help Available commands: bye Quit sftp cd path Change remote 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' df [-hi] [path] Display statistics for current directory or ... ...
Изменить локальный и удаленный каталог
Сначала проверьте каталог локального и удаленного серверов, используя следующие команды.
sftp> !pwd /home/ubuntu sftp> pwd /home/andreyex
- !pwd – используется для проверки текущего каталога в локальной системе
- pwd – используется для проверки текущего каталога в удаленной системе
Теперь перемещайтесь между каталогами в локальной и удаленной системе sftp.
sftp> lcd /home/ubuntu/Downloads sftp> cd Uploads
- lcd – используется для перехода между каталогами в локальной системе
- cd – используется для перехода между каталогами в удаленной системе
Скачать файлы из SFTP
Используйте команду get для загрузки файла с sftp-сервера на локальный системный диск. Используйте команду lcd для изменения местоположения локальной папки загрузки. Команда ниже загрузит remotefile.txt из удаленной системы в локальную.
sftp> get remotefile.txt
Для рекурсивной загрузки файлов и папок используйте -r переключатель с командой get. Приведенная ниже команда будет рекурсивно загружать удаленную папку из удаленной системы в локальную.
sftp> get -r remotedir
Загрузить файлы в SFTP
Используйте команду put для загрузки файла из локальной системы в удаленную. Используйте команду cd чтобы сначала изменить расположение папки удаленной загрузки. приведенная ниже команда загрузит localfile.txt из локальной системы в удаленную систему sftp.
sftp> put localfile.txt
Для рекурсивной загрузки файлов и папок используйте -r переключатель с командой put. Команда ниже загрузит каталог localdir, а также все файлы и подкаталоги на удаленный сервер.
sftp> put -r localdir