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

Как использовать команду SCP для безопасной передачи файлов Сертификаты
Содержание
  1. Known_hosts
  2. Scp команда и копирование файлов
  3. Ssh-copy-id
  4. Базовый синтаксис
  5. Выбор алгоритма шифрования
  6. Выбор другого файла конфигурации
  7. Выполнить команду из скрипта на удалённом компьютере
  8. Демонстрация
  9. Закрыть все ssh туннели
  10. Запустить ssh в фоновом режиме
  11. Какой ключ куда?
  12. Конвертация сертификатов
  13. Копирование файлов через прокси
  14. Локальный файл в удалённое местоположение
  15. Ограничение скорости передачи
  16. Отключение отображения прогресса и служебных сообщений
  17. Передать ключ на удалённый хост
  18. Подключение по ssh
  19. Прежде чем вы начнете
  20. Пример 1) скопируйте файл из локальной системы в удаленную с помощью scp
  21. Пример 11) передача файлов в тихом режиме (-q) в scp
  22. Пример 12) использование файла identify в scp при передаче (-i)
  23. Пример 2) скопируйте файл из удаленной системы в локальную с помощью scp
  24. Пример 6) рекурсивное копирование файлов и каталогов (-r)
  25. Пример 7) увеличьте скорость передачи, включив сжатие (-c)
  26. Пример 8) ограничение пропускной способности при копировании (-l)
  27. Пример 9) укажите другой порт ssh, а scp (-p)
  28. Сгенерировать пару ключей
  29. Сжатие файлов при передаче
  30. Синтаксис команд scp
  31. Скопируйте файл между двумя удаленными системами, используя scp команду
  32. Создать ssh туннель
  33. Сохранение значений атрибутов
  34. Список всех открытых ssh туннелей
  35. Удалённый файл в другое удалённое местоположение
  36. Удалённый файл на локальную машину
  37. Узнать версию openssh в linux
  38. Заключение
  39. Вывод
  40. Пример 3) подробный вывод при передаче файлов с помощью scp (-v)
  41. Итоги

Known_hosts

Список известных хостов находится в файле

known_hosts

Полный путь:

/home/$(whoami)/.ssh/known_hosts


Обычно файл

known_hosts

имеет следующий формат (записи идут через пробел)
(
подробнее
)

{server-id} алгоритм {public-key-string} {comment}

Примеры алгоритмов: ssh-rsa, ssh-dss, ssh-ed25519, ecdsa-sha2-nistp256 …


Пример строки:

|1|abcdef abcdefghijklmnopqrst=|abcdefghijklmnopqrstuvwxyz1= ssh-rsa abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrst/abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz12345/abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzB1234567

Таким образом

abcdef abcdefghijklmnopqrst=|abcdefghijklmnopqrstuvwxyz1=


Это хэш от имени сервера.

ssh-rsa

Это алгоритм шифрования

abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrst/abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz12345/abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzB1234567


Это публичный ключ хоста

Scp команда и копирование файлов

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

Ssh-copy-id

Я предпочитаю использовать с флагом -i и задавать путь до нужного ключа

sudo ssh-copy-id -i ~/.ssh/andrei-key.pub andrei@192.168.0.2

/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: “/home/andrei/.ssh/andrei-key.pub”
The authenticity of host ‘192.168.0.2 (192.168.0.2)’ can’t be established.
ECDSA key fingerprint is SHA256:abcdefgh1234567890abcdefgh1234567890abc def.


Введите yes

Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed — if you are prompted now it is to install the new keys
andrei@192.168.0.2’s password:

Введите пароль

Number of key(s) added: 1

Now try logging into the machine, with: “ssh ‘andrei@192.168.0.2′”
and check to make sure that only the key(s) you wanted were added.


Теперь на хосте 192.168.0.2 в файле
/home/andrei/.ssh/authorized_keys
появилась новая запись вида

Базовый синтаксис

Команда scp выглядит следующим образом

scp [опции] имя_файла пользователь@узел_назначения:директория_назначения

Данная команда выполняет копирование указанного файла (имя_файла) в конкретную директорию (директория_назначения) на узле назначения (узел_назначения) с использованием учетной записи определенного пользователя (пользователь).Подробная информация о процессе копированияПри запуске без параметров команда scp будет копировать файлы в фоновом режиме.

Пользователь ничего не видит, пока процесс не будет завершен, или не возникнет какая-либо ошибка. Для вывода подробной информации о процессе копирования на экран можно воспользоваться параметром –v. Это может помочь в отладке проблем соединения, аутентификации и конфигурации.

$ scp -v file.pdf root@10.10.10.2:.

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

Выбор алгоритма шифрования

По умолчанию scp использует для шифрования файлов алгоритм AES-128. Если требуется другой алгоритм, его можно изменить при помощи опции -c:

# scp -c 3des file.pdf root@10.10.10.2:/tmp 
root@10.10.10.2's password: 
file.pdf 100% 1000MB 19.0MB/s 00:52

В данном случае задан алгоритм 3DES. Обратите внимание, что данный параметр указывается маленькой буквой -с, а не большой -C.

Выбор другого файла конфигурации

Мобильным пользователям, которые попеременно используют сеть компании и публичные сети, будет тяжело каждый раз менять настройки scp. Лучше всего создать для этого отдельный файл ssh_config и воспользоваться параметром -F.

По умолчанию файл ssh_config для пользователя находится в ~/.ssh/config. Если создать отдельный файл proxy_ssh_config для использования прокси, это упростит переход между сетями.

Например, если в сети компании используется прокси-сервер, а в публичной сети – нет, а пользователь попеременно работает в разных сетях, можно использовать опцию -F с именем нужного файла конфигурации для сети компании, а в публичной сети ее не указывать:

Выполнить команду из скрипта на удалённом компьютере

Если подключение по ssh происходим из

bash-скрипта

, и при этом нужно ещё выполнить ряд команд после подключения – достаточно перечислить эти команды через точку с запятой

Про сертификаты:  Браузеры не видят сертификаты безопасности. Куда копать? - обсуждение на форуме

#!/bin/bashssh andrei@192.168.0.2 “ls;cd /home/andrei/bash_scripts;ls;ip a;cal”


Если нужно выполнить команду, требующую sudo попробуйте флаг -t

#!/bin/bashssh -t andrei@192.168.0.2 “sudo apt upgrade”

Демонстрация

Туннель создан, не закрывайте терминал. Откройте два новых терминала или две новые вкладки в старом.

У вас два пустых терминала, оба на локальном хосте. Назовём их 1 и 2.

Из терминала 2 подключимся к удалённому хосту 192.168.0.2 по ssh и будем
слушать на порту 9200 с помощью nmap

ssh andrei@192.168.0.2
nmap -l 9200


На терминале 1 с помощью nmap отправим сообщение на порт 9119 локального хоста. Это тот порт,
который мы настроили на проброс.

nmap localhost 9119

Введём любой текст

Закрыть все ssh туннели

Чтобы закрыть всё, что связано с ssh можно выполнить

sudo killall ssh sshd


Этот метод хорош только если вы работаете один, например на какой-то виртуальной машине.

Запустить ssh в фоновом режиме

Существует несколько способов запустить ssh соединение в фоновом режиме – то есть освободим текущий терминал.

-L, screen, tmux, nohup

Мне запустить ssh фоном из скрипта помог nohup, поэтому начнём с него

Какой ключ куда?

.pub

ключ отправляйте на удалённую машину

приватный ключ храните на своём клиенте

Конвертация сертификатов


Рассмотрим простой пример: вы достали из

базы данных

сертификат
MIIC4jCCAc … A7A6Rpt8V9Q==
, но он не отформатирован и не проходит валидацию

Сертификат, конечно, длиннее, я поставил троеточие для экономии места и вашего времени.

Выполните

Копирование файлов через прокси

В офисных сетях часто используются прокси-серверы. Изначально scp не настроена для работы через прокси, поэтому если вы используете прокси-сервер, нужно «сообщить» об этом команде. Для работы протокола SSH через прокси-сервер требуется туннелирование, которое осуществляется при помощи специальной программы Corkscrew. В вашей системе она может быть не установлена, в этом случае нужно воспользоваться стандартной процедурой установки:

Ubuntu/Debian

$ apt-get install corkscrew

Centos/Redhat

# yum install corkscrew

Допустим, адрес вашего прокси-сервера 10.0.96.6, а порт 8080, и на сервере требуется аутентификация пользователя. Нужно создать файл ~/.ssh/config и прописать там следующую команду:

ProxyCommand /usr/bin/corkscrew 10.0.96.6 8080 %h %p ~/.ssh/proxyauth

Затем нужно создать файл ~/.ssh/proxyauth, содержащий имя пользователя и пароль для аутентификации на прокси-сервере в следующем формате:

имя:пароль

Теперь можно использовать scp в прозрачном режиме, как обычно. Необходимо исключить доступ посторонних лиц к файлу ~/.ssh/proxyauth, потому что в нем открытым текстом указаны имя пользователя и пароль.

Локальный файл в удалённое местоположение

Мы скопируем локальный файл scp.zip на пользователя удалённого компьютера с названием root. За именем пользователя следует IP-адрес сервера.

Пример:

Ограничение скорости передачи

Опция -l ограничивает скорость передачи, указывается в кбит/c. Она полезна для использования в скриптах для автоматического копирования большого количества файлов, чтобы процесс scp не занимал весь канал.

# scp -l 40000 file.pdf root@10.10.10.2:/tmp
root@10.10.10.2's password: 
file.pdf 100% 1000MB 4.9MB/s 03:24

После параметра указывается значение ограничения скорости в килобитах в секунду, а при передаче скорость отображается в килобайтах в секунду. В данном случае мы указали 400 кбит/с, что эквивалентно 50 кбайт/с, так как в одном байте 8 бит (400/8 = 50).

# scp -P 2249 file.pdf root@10.10.10.2:/tmp

Убедитесь, что буква заглавная, так как строчная p используется для сохранения атрибутов.

Отключение отображения прогресса и служебных сообщений

Если вы не хотите видеть прогресс выполнения операции, предупреждения и диагностические сообщения scp, их можно отключить параметром

# scp -q label.pdf root@10.10.10.2:.

После ввода пароля не отображается никакой информации о работе команды. После завершения процесса копирования вы снова увидите командную строку.

Передать ключ на удалённый хост

После того, как ключи созданы нужно передать

.pub

ключ на удалённый хост.

Сделать это можно несколькими способами начнём с утилиты
ssh-copy-id

Подключение по ssh

Подключение происходит с помощью команды
ssh + имя_пользователя + хост

Например

ssh andrei@192.168.0.2

Если вы подключаетесь к хосту впервые, появится предупреждение


The authenticity of host ‘192.168.56.101 (192.168.56.101)’ can’t be established.
ECDSA key fingerprint is SHA256:db8az/qbrWOJWvNRv2d9UHaDBnnUHanJ9Svca9vFx7c.
Are you sure you want to continue connecting (yes/no/[fingerprint])?

Если выбрать yes
то в файл

~/.ssh/known_hosts

добавится похожая строка:

|1|abcdef abcdefghijklmnopqrst=|abcdefghijklmnopqrstuvwxyz1= ssh-rsa abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrst/abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz12345/abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzB1234567


Обычно файл

known_hosts

имеет следующий формат (записи идут через пробел)

{server-id} ssh-rsa {public-key-string} {comment}

Таким образом

abcdef abcdefghijklmnopqrst=|abcdefghijklmnopqrstuvwxyz1=


Это хэш от имени сервера.

Здесь через пробел записаны три элемента: хэш от имени сервера, название используемого ассиметричного алгоритма и публичный ключ сервера. Разберём их по очереди.

Прежде чем вы начнете

Для передачи данных scp используется команда ssh , поэтому для аутентификации на удаленных системах требуется ключ ssh или пароль.

Двоеточие ( : ) – это то, как scp различать локальные и удаленные местоположения.

Про сертификаты:  Менеджер паролей от Wi-Fi сетей | Android Tools


Чтобы иметь возможность копировать файлы, у вас должны быть как минимум права на чтение исходного файла и права на запись в целевой системе.

Будьте осторожны, когда копируете файлы с одинаковым именем и расположением в обеих системах, scp файлы будут перезаписаны без предупреждения.

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

Пример 1) скопируйте файл из локальной системы в удаленную с помощью scp

Предположим, мы хотим скопировать пакет jdk rpm из нашей локальной системы Linux в удаленную систему (172.20.10.8) с помощью команды scp, используйте следующую команду,

Пример 11) передача файлов в тихом режиме (-q) в scp

Используйте опцию ‘-q’ в команде scp, чтобы подавить ход передачи, предупреждения и диагностические сообщения ssh. Пример показан ниже,

Пример 12) использование файла identify в scp при передаче (-i)

В большинстве сред Linux предпочтительна аутентификация на основе ключей. В команде scp мы указываем файл идентификации или файл закрытого ключа с помощью опции ‘-i’, пример показан ниже,

Пример 2) скопируйте файл из удаленной системы в локальную с помощью scp

Предположим, мы хотим скопировать файл из удаленной системы в нашу локальную систему в папке /tmp, выполните следующую команду scp,

Пример 6) рекурсивное копирование файлов и каталогов (-r)

Используйте параметр -r в команде scp для рекурсивного копирования всего каталога из одной системы в другую, пример показан ниже,

Пример 7) увеличьте скорость передачи, включив сжатие (-c)

В команде scp мы можем увеличить скорость передачи, включив сжатие с помощью опции -C, она автоматически включит сжатие в источнике и декомпрессию на хосте назначения.

Пример 8) ограничение пропускной способности при копировании (-l)

Используйте параметр ‘-l’ в команде scp, чтобы установить ограничение на использование полосы пропускания при копировании. Пропускная способность указывается в Кбит / с, пример показан ниже,

Пример 9) укажите другой порт ssh, а scp (-p)

Могут быть некоторые сценарии, когда порт ssh изменяется на целевом хосте, поэтому при использовании команды scp мы можем указать номер порта ssh с помощью опции -P.

Сгенерировать пару ключей


Первый шаг – это генерация пары ключей. Обычно это делается на клиентской машине.
Например, на вашем ноутбуке.

Основная команда ssh-keygen создаст 2048-битную пару RSA ключей. Для
большей надёжности можно добавить флаг -b 4096

Выполните

ssh-keygen -b 4096


Чтобы сгенерировать ключ в /home/$(whoami)/.ssh

или

sudo ssh-keygen -b 4096


Чтобы сгенерировать ключ в /home/root/.ssh

Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):

Нужно придумать имя ключа.

Я назову ключ

andrei-key101

а сохранять буду в текущую директорию.

Enter file in which to save the key (/root/.ssh/id_rsa): andrei-key101
Enter passphrase (empty for no passphrase):
Enter same passphrase again:

Нужно два раза ввести пароль. Если он вам нужен. Обычно нет.

Your identification has been saved in andrei-key101
Your public key has been saved in andrei-key101.pub
The key fingerprint is:
SHA256:abcd/abcdefghijklmnopqrstuvwxyz1234567890ab root@urn-su
The key’s randomart image is:
—[RSA 4096]—-
|=o oo |
|= oo o. = o |
| |
|Oo=o . . |
|B .o S . |
| o.o |
| .0. . |
|o = . E |
| =oo. . . |
—-[SHA256]—–


Ключи готовы. Я сохранил их в текущую директорию поэтому увижу их сделав ls

andrei-key101 andrei-key101.pub

Важно помнить, что если вы генерируете ключ для другого пользователя нужно
позаботиться о правильных правах доступа к этому ключу.

Сжатие файлов при передаче

Опция –C поможет ускорить передачу файлов за счет их сжатия. Преимущество такой передачи в том, что сжатие будет выполняться только для передачи по сети. При завершении копирования на сервере места назначения размер файла вернется к первоначальному, каким он был до сжатия.

Допустим, требуется скопировать файл размером 1 ГБ. Следующая команда выполнит это без сжатия:

# scp -vp file.pdf root@10.10.10.2:/tmp

Время копирования составило 20.3 секунды. Теперь выполним копирование с параметром –C:

scp -Cvp file.pdf root@10.10.10.2:/tmp

Видно, что при использовании сжатия процесс передачи требует всего 3,4 секунды. Это более чем в 6 раз быстрее. Однако, важно отметить, что сжатие работает не для всех файлов. При копировании уже сжатых файлов никакого ускорения не будет, поэтому на архивы, изображения и файлы образов этот параметр не действует.

Синтаксис команд scp

Прежде чем перейти к использованию scp команды, давайте начнем с обзора основного синтаксиса.

scp Синтаксис команда имеет следующий вид:

scp предоставляет ряд опций, которые контролируют каждый аспект его поведения. Наиболее широко используемые варианты:

  • -P  – Определяет удаленный хост ssh порт.
  • -p  – Сохраняет файлы модификации и время доступа.
  • -q  – Используйте эту опцию, если вы хотите отключить индикатор выполнения и сообщения об ошибках.
  • -C – Эта опция принудительно scp сжимает данные при их отправке на конечный компьютер.
  • -r – Эта опция говорит scp рекурсивно копировать каталоги.
Про сертификаты:  КриптоОфис

Скопируйте файл между двумя удаленными системами, используя scp команду


В отличие от этого rsync , при использовании scp вам не нужно входить на один из серверов для передачи файлов с одного на другой удаленный компьютер.

Создать ssh туннель

Туннели обычно создают для перенаправления траффика. SSH tunnel это то же самое что и SSH port forwarding.

Допустим вы хотите направить траффик со своего localhost (127.0.0.1) на
удалённый
хост 192.168.0.2.

На

удалённом

хосте у вас есть пользователь с именем andrei и вы знаете его пароль.

Сперва нужно определиться с портами на локальном хосте и на удалённом.

Предположим, вы выбрали 9119 для локального и
9200 для

удаленного
хостов.

То есть вы хотите, чтобы всё, что идёт на localhost:9119 было перенаправлено на
192.168.0.2:9200

Выполните

ssh -L 9119:192.168.0.2:9200 andrei@192.168.0.2


The authenticity of host ‘192.168.0.2 (192.168.0.2)’ can’t be established.
ECDA …

andrei@192.168.0.2’s password:
Last login: Sun Jan 31 13:23:00 2021

Проверьте ip выполнив

ip a


Если вам нужен туннель с поддержкой графического интерфейса

X Window System

используйте флаг -X

ssh -X -L 9119:192.168.0.2:9200 andrei@192.168.0.2

Сохранение значений атрибутов

Для копирования файлов с сохранением времени доступа, модификации и прав доступа используется опция –p. На экране отобразятся примерное время выполнения и скорость соединения:

# scp -p file.pdf root@10.10.10.2:.
root@10.10.10.2's password: 
file.pdf                    100% 1000MB  58.0MB/s   00:17                                                                                                                                                            100% 1000MB  58.0MB/s   00:17

Список всех открытых ssh туннелей


Чтобы получить список туннелей открытых именно ssh выполните

sudo lsof -i -n | egrep ‘<ssh>’

ssh 14695 andrei 3u IPv4 230080 0t0 TCP 192.168.0.1:46356->192.168.0.2:ssh (ESTABLISHED)
ssh 14695 andrei 4u IPv6 230103 0t0 TCP [::1]:9119 (LISTEN)
ssh 14695 andrei 5u IPv4 230104 0t0 TCP 127.0.0.1:9119 (LISTEN)

Вывод этой команды при практически идентичных условиях почему-то разный.

Ниже пример второго варианта. Если вы знаете почему так получается – напишите в комментариях.

ssh 15151 andrei 3u IPv4 239364 0t0 TCP 192.168.0.1:46464->192.168.0.2:ssh (ESTABLISHED)
ssh 15151 andrei 4u IPv6 239380 0t0 TCP [::1]:mxit (LISTEN)
ssh 15151 andrei 5u IPv4 239381 0t0 TCP 127.0.0.1:mxit (LISTEN)
ssh 15151 andrei 9u IPv6 239428 0t0 TCP [::1]:mxit->[::1]:54306 (ESTABLISHED)

Удалённый файл в другое удалённое местоположение

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

Пример:

scp root@191.162.0.2:/writing/article/scp.zip olha@11.10.0.1:/publishing

Приведённая выше команда копирует исходный файл /writing/article/scp.zip с одного хоста на другой. Чтобы скопировать папки, просто добавьте параметр -r и укажите путь к папке, а не файл внутри неё, как мы делали раньше.

При нормальных обстоятельствах файл копируется непосредственно с одного удалённого хоста на другой. Однако, если вы хотите перенаправить операцию через ваш компьютер, вы можете добавить опцию -3:

scp -3 root@191.162.0.2:/writing/article/scp.zip olha@11.10.0.1:/publishing

Вот и всё!

Удалённый файл на локальную машину

В этом процессе источник и цель команды меняются местами, что должно отразиться на вашем синтаксисе. В этот раз мы пытаемся скопировать файл scp.zip с того же удалённого хоста на наш локальный компьютер:

Узнать версию openssh в linux

Чтобы узнать версию OpenSSH в вашем дистрибутиве Linux выполните

ssh -V


OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2021

Заключение

Мы рассмотрели наиболее распространенные примеры работы с командой scp. Более подробную информацию можно получить в соответствующих man-страницах.

Вывод

Из этого руководства вы узнали, как использовать scp команду для копирования файлов и каталогов.


Вы также можете настроить аутентификацию на основе ключей SSH и подключаться к серверам Linux без ввода пароля.

Если вы регулярно подключаетесь к одним и тем же системам, вы можете упростить рабочий процесс, определив все свои подключения в

Пример 3) подробный вывод при передаче файлов с помощью scp (-v)

В команде scp мы можем включить подробный вывод с помощью опции -v, используя подробный вывод, мы можем легко узнать, что именно происходит в фоновом режиме. Это становится очень полезным при отладке проблем с подключением , аутентификацией и конфигурацией .

Итоги

В этой статье мы узнали, что такое SCP команда в Linux и, как с её помощью передавать файлы между удалёнными и локальными узлами. Это очень полезно, когда вы работаете с несколькими серверами. Протокол защищённого копирования, или SCP облегчает копирование информации с одного удалённого хоста на другой, поскольку вам не приходится входить в систему.  

Кроме того, этот метод удалённой передачи файлов шифрует ваши данные с помощью безопасной оболочки (SSH), что обеспечивает конфиденциальность передаваемой вами информации.

Оцените статью
Мой сертификат
Добавить комментарий