Копирование с помощью команды SCP
SCP (Secure Copy)-это средство командной строки для копирования или переноса файлов между узлами. Он использует такой же механизм безопасности как программа ssh. Фактически, она использует ssh соединения в фоновом режиме для выполнения файла передачи. SCP относится как к “Протокол” что определяет как безопасного копирования должен работать и “Программа” (команда) которая устанавливается как часть пакета OpenSSH инструменты.
В этот краткий учебник мы рассмотрим несколько примеров, команда scp и как она может быть использована для безопасной передачи файлов.
SCP обычно устанавливается по умолчанию на большинстве дистрибутивов linux как часть openssh пакетов. На ubuntu/debian для примера, пакет openssh-client обеспечивает программы ПКПП.
$ dpkg -L openssh клиент | grep scp /usr/bin/scp /usr/share/man/man1/scp.1.gz
Ее [192.168.1.3] пакет, который обеспечивает ssh, SCP, SFTP программы, а также многие другие инструменты. Поэтому мы не должны делать ничего дополнительного здесь, за исключением использовать и изучать программы.
Базовый синтаксис scp очень просто запомнить. Это выглядит так
$ SCP source_file_path destination_file_path
В зависимости от хозяина, путь к файлу должен включать адрес полный хоста, номер порта, имя пользователя и пароль, а также путь к каталогу.
Так что если вы “Отправка” файл с локального компьютера на удаленный компьютер (выгрузка) синтаксис будет выглядеть следующим образом
$ SCP ~/my_local_file.txt user@remote_host.com: / несколько/удаленных/каталог
При копировании файла с удаленного хоста на локальный хост (Загрузка), ее выглядит как раз обратное
$ SCP user@remote_host.com: / несколько/удаленных/каталог-~/my_local_file.txt # просто скачайте файл $ SCP Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра. .1.3:/some/path/file.txt .
Это довольно много об использовании scp для обычных задач. Отдельно от его, Есть несколько дополнительных опций и функций, которые поддерживает scp. Препятствует взятию краткий обзор тех.
И да, по умолчанию scp всегда будет перезаписывать файлы на сервере назначения. Если вам нужно избегать, использовать более мощный инструмент под названием rsync.
С подробного вывода, scp-Программа выдаст много информации о том, что он делает в фоновом режиме. Это часто полезно, когда программа не выполняется или не удается выполнить запрос. Подробный вывод затем укажет точное место, где программа побежал в вопросах.
$ SCP - v ~/test.txt Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра. .1.3:/root/help2356.txt исполнитель: Программа/usr/bin/ssh хост 192.168.1.3, пользователь root, команда scp - v -т /root/help2356.txt OpenSSH_6.2p2 Ubuntu-6ubuntu0.1, OpenSSL 1.0.1e 11 Февраля 2013 debug1: чтение конфигурации данных /home/enlightened/.ssh/config debug1: чтение конфигурации данных /etc/ssh/ssh_config debug1: /etc/ssh/ssh_config линия 19: Применение параметров для * debug1: подключение к 192.168.1.3 [192.168.1.3] порт 22. debug1: соединения. ..... УСЕЧЕНИЕ ВЫВОДА
Вывод будет большой и содержат подробную информацию о как соединение, какие файлы конфигурации и личность, используются и так далее.
Можно указать несколько файлов, разделенных пробелом, как это
$ SCP foo.txt bar.txt username@remotehost:/path/directory/
Чтобы скопировать несколько файлов с удаленного хоста на текущий локальный каталог
$ SCP username@remotehost:/path/directory/{foo.txt,bar.txt} . $ SCP Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра. .1.3: ~ / {abc.log,cde.txt} .
Чтобы скопировать весь каталог с одного хоста на другой используйте параметр r и укажите каталог
$ SCP - v - r ~/Downloads Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра. .1.3: / корень/неделю
SCP можно скопировать файлы из 1 удаленного хоста на другой удаленный узел, а также.
$ SCP user1@remotehost1:/some/remote/dir/foobar.txt user2@remotehost2:/some/remote/dir/
Очень крутой возможность ускорить передачу для экономии времени и пропускной способности. Все, что вам нужно сделать, это использовать параметр C включить сжатие. Файлы сжаты на лету и распаковать на сервере назначения.
$ SCP - vrC ~/Downloads Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра. .1.3: / корень/неделю
В приведенном выше примере мы переехали весь каталог с включено сжатие. Получить скорость будет зависеть от сколько файлы могут быть сжаты.
Если вы не хотите ПКПП принять вверх всю доступную пропускную способность, затем используйте параметр l ограничить максимальную скорость в кбит/с.
$ SCP - vrC -л 400 ~/Downloads Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра. .1.3: / корень/неделю
Если удаленный сервер имеет ssh демон работает на другой порт (по умолчанию — 22), Затем вам нужно сказать scp для использования этого конкретного порта номер с помощью '-P’ параметр.
$ SCP -vC -P 2200 ~/Test.txt Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра. .1.3:/some/path/test.txt
'-P’ вариант (smallcase), сохранить изменения раз, время доступа, и режимы из исходного файла.
$ SCP - C -p ~/test.txt Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра. .1.3:/some/path/test.txt
В тихом режиме ('-q’ опция), ПКПП вывод будет получить запрещен, и будет отключить индикатор как а также предупреждение и диагностических сообщений.
$ SCP - vCq ~/test.txt Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра. .1.3:/some/path/test.txt
При использовании ключа проверки подлинности на основе (без пароля), Вам нужно будет указать личность файл, который содержит закрытый ключ. Этот параметр передается непосредственно в ssh команды и работает так же, как.
$ SCP - vCq -i private_key.pem ~/test.txt Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра. .1.3:/some/path/test.txt
Используйте '-F’ параметр для указания файла другой ssh_config.
$ SCP -vC -F /home/user/my_ssh_config ~/test.txt Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра. .1.3:/some/path/test.txt
SCP по умолчанию использует шифр/шифрование AES. Иногда может потребоваться использовать другой шифра. С помощью различных шифра может ускорить процесс передачи. К примеру blowfish и компании известны как быстрее, чем AES (но менее безопасно).
$ SCP - c blowfish - C ~/local_file.txt username@remotehost:/remote/path/file.txt
В приведенном выше примере мы используем шифрования blowfish наряду с сжатие. Это может дать импульс значительной скоростью в зависимости от доступной пропускной способности.
Хотя ПКПП является очень эффективным в безопасной передачи файлов, ей не хватает необходимых функций инструмента синхронизация файлов. Все это можно сделать, это скопировать вставить все указанные файлы из одного места в другое.
Более мощный инструмент является Rsync, который не только имеет все функции, scp, но добавляет дополнительные возможности разумно синхронизировать файлы между 2 хозяева. Например, Это можно проверить и загрузить только измененные файлы, игнорировать существующие файлы и так далее.