SFTP, SCP и FISH протоколы передачи данных

Передача данных — одно из основных действий , выполняемых пользователями через Интернет. При передаче данных необходимо соблюдать осторожность, чтобы гарантировать, что данные передаются безопасно и не подвергаются риску. Передача осуществляется по определенным правилам и способам. За это отвечают протоколы передачи данных О некоторых из них, а так же о разнице между ними, и поговорим.

SFTP (Secure File Transfer Protocol)

SFTP — это протокол, который использует протокол SSH для обеспечения высокого уровня безопасности во время передачи файлов. Он помогает пользователям безопасно передавать файлы через Интернет с использованием шифрования SSH. Поскольку SFTP работает через SSH, он использует порт 22 для установления соединения с целевой системой.

Помимо передачи данных этот протокол позволяет так же просматривать и удалять файлы и каталоги на удаленной машине.

Для работы с SFTP необходимо будет установить SFTP-сервер и SFTP-клиент. А для работы с ним, можно использовать программы с графическим интерфейсом, такие как FileZilla и Solar-PuTTY. Ну или командную строку, кому как нравится больше.

Передача через SFTP базируется на пакетах. Благодаря этому его работа быстрее, чем протокола основанного на текстовой передачи. Пакетные протоколы более компактны, следовательно и времени на их обработку тратится меньше.

user@ubuntu:~$ sudo sftp sftp-user@192.168.56.10
sftp-user@192.168.56.10's password: 
Connected to 192.168.56.10.
sftp> ls -la sftp-user/
drwxr-xr-x    2 1002     1002         4096 Oct 24 15:41 .
drwxr-xr-x    3 root     root         4096 Oct 24 14:42 ..
-rw-r--r--    1 1002     1002            0 Oct 24 15:41 file1
-rw-r--r--    1 1002     1002            0 Oct 24 15:41 file2
-rw-r--r--    1 1002     1002            0 Oct 24 15:41 file3
-rw-r--r--    1 1002     1002            0 Oct 24 15:41 file4
-rw-r--r--    1 1002     1002            0 Oct 24 15:41 file5
sftp> 

SCP — безопасное копирование.

Secure Copy или SCP — это сетевой протокол, который безопасно копирует файлы между операционными системами Linux по сети. Протокол SCP использует SSH для передачи данных и, следовательно, требует пароля или ключа SSH для аутентификации в удаленных системах.

С помощью SCP можно копировать файлы и папки со своего хоста на удаленный. Также в обратную сторону, с удаленного хоста на сврю машину.

SCP, как и SFTP, использует SSH и работает через TCP-порт 22.

Однако, SCP не является интерактивным и используется только для передачи файлов из одной системы в другую. Он не выполняет дополнительные задачи в удаленной системе, такие как просмотр или удаление файлов и каталогов. Это просто утилита для передачи данных. SFTP более сложен и предоставляет больше возможностей для управления файлами и папками в удаленных системах.

Если говорить о скорости, SCP превосходит SFTP. Как правило, он быстрее, особенно в high latancy сетях.

user@host2:~$ scp user@192.168.56.10:/home/user/file* ~/file/
user@192.168.56.10's password: 
file1                                                                                                                                                                                                       100%    0     0.0KB/s   00:00    
file2                                                                                                                                                                                                       100%    0     0.0KB/s   00:00    
file3                                                                                                                                                                                                       100%    0     0.0KB/s   00:00    
file4                                                                                                                                                                                                       100%    0     0.0KB/s   00:00    
file5                                                                                                                                                                                                       100%    0     0.0KB/s   00:00    
user@host2:~$ ls file/
file1  file2  file3  file4  file5

Важное замечание

Со слов разработчиков OpenSSH, протокол SCP устарел. И рекомендуется использовать более современные и безопасные протоколы, такие как SFTP и Rsync. Это связано с постоянными сообщениями о проблемах безопасности SCP.

Например, в RHEL 9 уже отказались от протокола SCP в пользу SFTP. Вместо SCP протоколом передачи файлов по умолчанию теперь является SFTP, который полностью перекрывает возможности SCP.

RHEL планирует полностью исключить SCP в будущих выпусках Red Hat Enterprise Linux. Вместо SCP предлагается использовать Rsync, который также использует SSH для шифрования.

FISH — интерактивная оболочка.

FISH (FIle transfered over SHell) означает «Файлы, передаваемые по протоколу SHell». Этот пакет изначально был разработан для файлового менеджера Midnight Commander и использует протокол SSH для установления соединения с удаленной системой.

Протокол FISH поддерживается популярными FTP-клиентами, такими как FileZilla, и файловыми менеджерами, такими как Krusader, Konqueror, Midnight Commander и т. д.

Хотя FISH не так популярен и широко используется по сравнению с SFTP и SCP, он так же обеспечивает безопасную передачу данных между системами. На удаленной системе достаточно только запущенной службы ssh.

user@host1 ~ [124]> scp user@192.168.56.15:/home/user/file2 ~/
user@192.168.56.15's password: 
file2                                                                                                                                                                                                       100%    0     0.0KB/s   00:00    
user@host1 ~> 

Заключение.

Вот наверное и все пока, что я хотел вам рассказать о некоторых протоколах передачи данных. А вы пользуетесь какими-нибудь из них? Было бы интересно услышать ваше мнение.

Was this helpful?

0 / 0

Добавить комментарий 0