Има моменти, когато искате да прехвърлите файлове между вашата локална система и отдалечен сървър. Налични са няколко протокола и методи, които ви позволяват да обработвате файловите предавания по сигурен начин.

Командата scp в Linux е един такъв инструмент, който помага на потребителя да споделя файлове отдалечено между локални и отдалечени хостове. В тази статия ще обсъдим подробно командата scp, заедно с нейното използване и някои допълнителни функции на командата.

Какво представлява командата Scp

Scp, съкращение от Сигурно копиране, е помощна програма за команден ред в операционни системи, базирани на Linux, която позволява на потребителя да копира файлове между отдалечени и локални хостове. Тъй като командата прехвърля файлове през мрежа към друг хост, се изисква SSH достъп. SSH (Secure Shell) е протокол, който ви позволява да обработвате мрежовите услуги сигурно през всяка мрежа.

Командата scp също така поддържа някои допълнителни функции, като посочване на параметри за удостоверяване, промяна на порта, прехвърляне на директории и др.

instagram viewer

Защо Scp е по-добър от другите методи

Scp обикновено се предпочита пред другите методи за прехвърляне на файлове, тъй като по време на прехвърлянето връзката между двата хоста е криптирана. Протоколът SSH е отговорен за криптирането на файловете, паролите и всички други чувствителни подробности.

Други методи за трансфер като Telnet или FTP нямат криптиране. Също така, паролата на потребител / парола също се записва в обикновен текст, което изобщо не е добра практика. Крекерът може лесно да получи достъп до вашата информация, като подуши мрежата ви.

Как сигурно да прехвърляте файлове с помощта на Scp

С помощта на командата scp можете да прехвърляте файлове между:

  1. Локален хост и отдалечен хост
  2. Отдалечен хост и локална система
  3. Два отдалечени хоста

Основен синтаксис

Основният синтаксис на командата scp е:

scp [опции] [източник] [дестинация]

Прехвърляне от локален хост към отдалечена система

Ако сте администратор на сървър, прехвърлянето на файлове между локален хост и отдалечени хостове може да ви бъде полезно. За да качите файл с име document.txt към отдалечен хост:

scp /home/document.txt потребител @ отдалечен хост: /home/document.txt

Имайте предвид, че източникът е пътят на файла в локалното ви хранилище. И дестинацията е пътят на файла на отдалечения хост. Трябва да посочите и потребителското име и името на домейна на отдалечения сървър. В горната команда, потребител е потребителското име и отдалечен хост е името на домейна.

Пътят на дестинацията се отделя от данните за отдалечения хост с помощта на дебело черво знак (:). Имайте предвид, че потребителят трябва да съществува на отдалечения сървър, ако искате да прехвърлите файловете успешно. Също така потребителят трябва да има достъп за запис в директорията, в която искате да запишете файла.

След издаване на гореспоменатата команда, системата ще ви поиска паролата на отдалечения потребител. Въведете паролата и натиснете Въведете.

парола на потребител @ отдалечен хост:

Ако паролата е валидна, прехвърлянето на файлове ще се инициализира. Ако сте въвели неправилна парола, ще възникне грешка.

Преди да се опитате да копирате файла с помощта на командата scp, уверете се, че данните за отдалечения хост и паролата са правилни, като влезете в сървъра с помощта на SSH.

От отдалечен хост до локален хост

За да копирате файлове от отдалечен хост на локален хост, просто разменете пътя на източника и местоназначението в командата scp.

scp потребител @ отдалечен хост: /home/document.txt /home/document.txt

Системата ще поиска отново паролата на отдалечения потребител. Въведете паролата, за да потвърдите процеса на прехвърляне.

Между два отдалечени хоста

За да копирате файлове между два отдалечени сървъра, както изходният, така и целевият път трябва да бъдат директории на отдалечените хостове.

scp user1 @ remote-host1: /home/document.txt user2 @ remote-host2: /home/folder/document.txt

Отново ще се появи подкана с молба да въведете паролата за всеки от двамата потребители.

Опции на командния ред на Scp

Освен просто прехвърляне на файловете от източника към местоназначението, scp има и някои допълнителни опции, които могат да бъдат извикани с помощта на конкретни аргументи.

Променете порта

По подразбиране командата scp работи на порт 22. Винаги обаче можете да презапишете конфигурацията по подразбиране и да промените порта. The -P флаг ви позволява да направите същото.

За да използвате някакъв друг номер на порт, докато копирате файлове от локален хост на отдалечен хост:

scp -P 35 /home/document.txt потребител @ отдалечен хост: /home/document.txt

Гореспоменатата команда ще гарантира, че командата scp използва порт 35 за прехвърляне на файлове.

Запазване на времеви клейма на файлове

Може би знаете това Linux задава времеви марки за всеки файл за съхраняване на времето за модификация, времето за достъп и времето за промяна, свързани с файла. Когато прехвърляте файла на друго място с помощта на scp, времевите клейма на целевия файл се заменят от текущото време.

Ако по някаква причина искате да запазите тези времеви марки, използвайте -п флаг. Забележи това -P и -п флаговете са различни един от друг.

scp -p /home/document.txt потребител @ отдалечен хост: /home/remote/document.txt

Копиране на директории

Ако искате да копирате директории вместо файлове, използвайте -r флаг за рекурсивно прехвърляне на директории.

scp -r потребител @ отдалечен хост: / home / videos / home / videos

Потиснат режим

Когато въведете командата scp, за да прехвърлите файлове, терминалът показва лентата за напредъка и друга свързана информация на екрана. Можете обаче да изберете да не преглеждате тази информация с помощта на -q флаг.

scp -q потребител @ отдалечен хост: /home/document.txt /home/document.txt

Използвайте файл за пара за ключове за удостоверяване

Ако искате да удостоверите връзката с отдалечен хост с помощта на файл с пара за ключове, посочете пътя на файла с помощта на флаг.

scp -i /home/keypair.pem /home/document.txt потребител @ отдалечен хост: /home/document.txt

Свързване на множество знамена заедно

Подобно на всяка друга команда на Linux, можете да свържете множество аргументи заедно, за да направите командата scp по-ефективна.

Например, за да смените порта и да прехвърлите файлове в потиснат режим:

scp -P 34 -q потребител @ отдалечен хост: /home/document.txt начало / document.txt

Ако искате да използвате файл с пара за ключове за удостоверяване и трябва да копирате директориите в пътя до местоназначението:

scp -i /home/secret/keypair.pem -r / home / папка user @ remote-host: / home / folder

Прехвърляне на файлове между Linux системи

В света на интернет прехвърлянето на файлове между системите се превърна в основна задача. За тези, които администрират Linux сървъри, понякога е важно да направят резервно копие на сървъра, преди да издадат конкретна команда. В подобни ситуации командата scp е полезна.

По същия начин, командата cp помага при копиране на файлове от едно място на друго в локална система. Има много основни команди, които са задължителни, ако тепърва започвате с Linux.

електронна поща
Справочник за команди на Linux за команди

Този прост мамят лист ще ви помогне за нула време да се почувствате комфортно с терминала на командния ред на Linux.

Прочетете Напред

Свързани теми
  • Linux
  • Управление на файлове
  • Linux
  • SSH
За автора
Дийпеш Шарма (Публикувани 33 статии)

Deepesh е младши редактор за Linux в MUO. Той пише информационно съдържание в интернет повече от 3 години. В свободното си време той обича да пише, да слуша музика и да свири на китара.

Още от Deepesh Sharma

Абонирайте се за нашия бюлетин

Присъединете се към нашия бюлетин за технически съвети, рецензии, безплатни електронни книги и ексклузивни оферти!

Още една стъпка…!

Моля, потвърдете имейл адреса си в имейла, който току-що ви изпратихме.

.