Введение
В этом лабе будут рассмотрены основы использования командной строки Linux для передачи файлов с использованием SFTP, FTP и SCP. Эти инструменты обычно используются для передачи файлов между удаленными серверами и могут быть полезны для таких задач, как загрузка файлов веб-сайта на сервер или скачивание данных с удаленной машины.
В лабораторной среде мы настроили SFTP и FTP сервер. При фактическом использовании убедитесь, что у вас есть необходимые учетные данные для доступа к удаленному серверу (например, имя пользователя и пароль) и что сервер настроен для разрешения передачи файлов по SFTP, FTP и SCP.
Достижения
sftp- Secure File Transfer Protocolftp- File Transfer Protocolscp- Secure Copy
Подключиться к удаленному серверу с использованием SFTP
SFTP (Secure File Transfer Protocol) - это безопасный способ передачи файлов между локальной машиной и удаленным сервером.
Для подключения к удаленному серверу с использованием SFTP вы можете использовать команду sftp, за которой следует имя пользователя и IP-адрес или доменное имя сервера. Например:
Пароль для sftpuser -
123456.
sftp sftpuser@127.0.0.1
## Введите yes, чтобы принять отпечаток сервера
Вам будет предложено ввести пароль для пользователя. После ввода правильного пароля вы будете подключены к удаленному серверу.
Передача файлов с помощью SFTP
После подключения к удаленному серверу вы можете передавать файлы с помощью команд put и get.
Чтобы загрузить файл с вашего локального компьютера на удаленный сервер, используйте команду put, за которой следует путь к локальному файлу. Например:
put /home/labex/.zshrc
Чтобы скачать файл с удаленного сервера на ваш локальный компьютер, используйте команду get, за которой следует путь к удаленному файлу. Например:
get .zshrc
Когда вы закончите передачу файлов, вы можете закрыть SFTP-соединение с помощью команды exit.
exit
Обязательно закройте SFTP-соединение, прежде чем нажать кнопку "Continue" (Продолжить).
Подключиться к удаленному серверу с использованием FTP
FTP (File Transfer Protocol) - это стандартный сетеевой протокол, используемый для передачи файлов между локальной машиной и удаленным сервером. Он менее безопасен, чем SFTP, так как передает данные в открытом виде.
Вы можете проверить статус службы FTP, выполнив следующую команду:
sudo service vsftpd status
Если служба FTP не запущена, вы можете запустить ее, выполнив следующую команду:
sudo service vsftpd start
Для подключения к удаленному серверу с использованием FTP вы можете использовать команду ftp, за которой следует IP-адрес или доменное имя сервера. Например:
Имя пользователя для ftp -
ftpuser, а пароль -123456
ftp 127.0.0.1
Вам будет предложено ввести имя пользователя и пароль для сервера. После ввода правильных учетных данных вы будете подключены к удаленному серверу.
Передача файлов с помощью FTP
После подключения к удаленному серверу вы можете передавать файлы с помощью команд put и get.
Чтобы загрузить файл с вашего локального компьютера на удаленный сервер, используйте команду put, за которой следует путь к локальному файлу. Например:
## Upload .zshrc file to the server and rename it to zshrc-upload
put /home/labex/.zshrc zshrc-upload
Файл будет загружен в текущий каталог на сервере (/home/ftpuser).
Чтобы скачать файл с удаленного сервера на ваш локальный компьютер, используйте команду get, за которой следует путь к удаленному файлу. Например:
get zshrc-upload
Файл будет загружен в текущий каталог на локальном компьютере.
Узнайте больше о командах FTP, выполнив команду help в оболочке FTP (FTP shell).
Когда вы закончите передачу файлов, вы можете закрыть FTP-соединение, используя команду bye или exit.
bye
Обязательно закройте FTP-соединение, прежде чем нажать кнопку "Continue" (Продолжить).
Копирование файлов на удаленный сервер
SCP (Secure Copy) — это утилита командной строки, предназначенная для безопасной передачи файлов между локальным компьютером и удаленным сервером, а также между двумя удаленными серверами. Она использует протокол SSH (Secure Shell) для шифрования передаваемых данных, что гарантирует безопасность процесса передачи файлов.
Базовый синтаксис команды scp выглядит следующим образом:
scp [options] [source] [destination]
Аргументы source (источник) и destination (назначение) могут представлять собой как локальный файл или каталог, так и удаленный файл или каталог в формате username@host:path.
Например, чтобы скопировать файл file.txt с вашего локального компьютера на удаленный сервер с IP-адресом 127.0.0.1, используйте следующую команду:
Чтобы узнать пароль пользователя
labex, введитеprintenv | grep PASSWORDв терминале рабочего стола. В других терминалах вне интерфейса рабочего стола этот пароль будет недоступен.

cd ~/project
## Просмотр пароля для пользователя labex
printenv | grep PASSWORD
## Копирование файла на удаленный сервер
scp file.txt labex@127.0.0.1:/home/labex/file-scp.txt
## Введите пароль пользователя labex
Загрузка файлов с удаленного сервера
Вы также можете использовать scp для скачивания файлов с удаленного сервера.
Например, чтобы скачать файл file.txt с удаленного сервера с IP-адресом 127.0.0.1 на локальную машину, вы бы использовали следующую команду:
scp labex@127.0.0.1:/home/labex/file-scp.txt /home/labex/file-scp-new.txt
Вы также можете указать локальную директорию в качестве назначения, убедитесь, что в пути есть конечный слеш (/).
Расширенные параметры SCP
scp также имеет несколько расширенных параметров, которые можно использовать для настройки передачи файлов. Некоторые из наиболее часто используемых параметров включают:
-r- Этот параметр позволяет рекурсивно копировать целые директории.-C- Этот параметр включает сжатие во время передачи файлов, что может быть полезно при передаче больших файлов по медленному соединению.-P- Этот параметр позволяет указать номер порта для соединения.
Например, чтобы скопировать директорию ~/Desktop с локальной машины на удаленный сервер с IP-адресом 127.0.0.1 с использованием сжатия и указанием номера порта, вы бы использовали следующую команду:
scp -r -C -P 22 ~/Desktop labex@127.0.0.1:/home/labex/Code/
Резюме
В этом практическом занятии были рассмотрены команды Linux SFTP, FTP и SCP, которые используются для передачи файлов между локальной машиной и удаленным сервером или между двумя удаленными серверами. SFTP - это безопасный способ передачи файлов, в то время как FTP - это стандартный сетеевой протокол, менее безопасный, чем SFTP. SCP - это утилита командной строки, которая позволяет безопасно передавать файлы между локальной машиной и удаленным сервером или между двумя удаленными серверами с использованием SSH (Secure Shell) для шифрования передаваемых данных. Также были рассмотрены некоторые расширенные параметры команды SCP, которые можно использовать для настройки передачи файлов, такие как параметры -r, -C и -P.



