logo

Як безпечно копіювати файли в Linux | Команда scp

scp Команда (захищене копіювання) у системі Linux використовується для безпечного копіювання файлів між серверами. Команда SCP або безпечна копія дозволяє безпечно передавати файли між локальним і віддаленим хостами або між двома віддаленими хостами. Він використовує ту саму автентифікацію та безпеку, що й у Протокол Secure Shell (SSH). . SCP відомий своєю простотою, безпекою та попередньо встановленою доступністю.

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

Синтаксис Basc команди scp у Linux такий:

scp [options] [[user@]host1:]source_file_or_directory ... [[user@]host2:]destination>

У цьому синтаксисі:



  • options> : це різні параметри, які змінюють поведінку команди SCP, наприклад-i>для вказівки файлу ідентифікації,-l>для обмеження пропускної здатності,-o>для вказівки параметрів SSH,-P>для визначення спеціального порту SSH і-S>для визначення програми для використання зашифрованого з’єднання.
  • [[user@]host1:]source_file_or_directory> : Це представляє вихідний файл або каталог. Він може бути локальним або на віддаленій машині, визначенійuser@host1:>.
  • ...> : це означає, що ви можете вказати кілька вихідних файлів або каталогів.
  • [[user@]host2:]destination> : Це місце призначення, куди будуть скопійовані файли або каталоги. Він може бути локальним або на віддаленій машині, визначенійuser@host2:>.

Параметри в команді scp в Linux

Найбільш часто використовувані параметри в команді scp в Linux.

параметри опис
порт: Вказує порт для підключення на віддаленому хості.
-стор Зберігає час модифікації, час доступу та режими з оригінального файлу.
-q Вимикає лічильник прогресу.
Рекурсивно копіювати цілі каталоги.
-s Назва програми, яка буде використовуватися для зашифрованого з’єднання. Програма має розуміти параметри ssh(1).

Практичний приклад безпечного копіювання файлу в Linux

Зміст

Як безпечно скопіювати файл з локальної машини на віддалену машину в Linux

Синтаксис:

scp [file_name] remoteuser@remotehost:/remote/directory>

тут

  • file_name = ім'я файлу, який потрібно скопіювати.
  • remoteuser = Ім'я користувача віддаленого хосту.
  • remotehost = IP-адреса або ім’я віддаленого хоста.
  • /remote/directory = Каталог, куди потрібно скопіювати файл на віддаленій машині.

Наприклад: Якщо ми хочемо скопіювати ім’я файлу test.txt із локальної системи в a

  • віддалений користувач = Jayesh
  • віддалений хост = 10.143.90.2
  • /remote/directory = /home/jayesh

Синтаксис:

scp test.txt [email protected]:/home/jayesh>

скопійований файл із локальної системи у віддалену систему

Для перевірки: використовуйте ` ls ` у місці, де ми скопіювали файл.

Файл, який ми скопіювали

Як безпечно скопіювати файл із віддаленої машини на нашу локальну

синтаксис:

scp user@remotehost:/home/user/file_name>

тут

  • user = ім'я користувача віддаленої системи.
  • remotehost = IP-адреса (або ім’я хоста) віддаленої системи.
  • /home/user/file_name = шлях до файлу, який потрібно скопіювати.
  • . = це означає, що ми копіюємо цей файл у поточне розташування в локальній системі.

Наприклад: Якщо маємо

  • користувач=jayesh
  • віддалений хост = 10.143.90.2
  • home/user/ім'я_файлу = home/jayesh/test1.txt

синтаксис:

scp [email protected]:/home/jayesh/test1.txt>

скопійовано файл із віддаленої системи в локальну за допомогою scp

Перевірити: використовувати ви (у Windows cmd)

test1.txt успішно скопійовано

Параметр -P у команді scp

Він використовується для безпечного копіювання файлу на віддалену машину через нестандартний порт SSH і вказує порт для підключення на віддаленому хості. Це корисно, коли наші SSH сервер прослуховує нестандартний порт.

Синтаксис:

scp -P port source_file user@hostname:destination_file>

Наприклад: Якщо ми хочемо скопіювати файл test2.txt з локальної машини на віддалену машину з IP-адресою 10.143.90.2 на порту 2222, користувач = jayesh і розташування = /home/jayesh/.
За замовчуванням scp використовує ssh через порт 22 для передачі файлів. Зміна порту може знадобитися, якщо призначений порт 22 не відкритий на віддаленому хості.

синтаксис:

scp -P 2222 test2.txt [email protected]:/home/jayesh/>

копіювання файлу з локальної системи на віддалену за допомогою параметра -P у scp

Перевірити: використання `ls` у віддаленій системі в місці, де ми скопіювали файл.

test2.txt успішно скопійовано

Параметр -p у команді scp

Цей параметр використовується, коли нам потрібні вихідні метадані файлу, який було передано. По суті, він зберігає час модифікації, час доступу та режими з оригінального файлу.

Синтаксис:

scp -p source_file user@hostname:destination_file>

Наприклад: Якщо ми хочемо скопіювати файл test3.txt з локальної машини на віддалену машину за допомогою IP-адреса 10.143.90.2, користувач = jayesh і розташування = /home/jayesh/

Синтаксис:

scp -p test3.txt [email protected]:/home/jayesh/>

копіювання файлу з локальної системи на віддалену за допомогою параметра -p у scp

-q Параметр у команді scp

Це безпечне копіювання файлів за допомогою Тихий режим – вимкнення вимірювача прогресу. Ця опція приховує хід передачі файлу на терміналі.

Синтаксис:

scp -q source_file user@hostname:destination_file>

Наприклад: Якщо ми хочемо скопіювати файл test4.txt з локальної машини на віддалену машину з IP-адресою 10.143.90.2, користувач = jayesh і розташування = /home/jayesh/

Синтаксис:

scp -q test4.txt [email protected]:/home/jayesh/>

Як ми бачимо, прогресу немає

Перевірити: Використовуйте команду `ls` у віддаленій системі в місці, де ми скопіювали файл.

test4.txt успішно скопійовано

Параметр у команді scp

Цей параметр використовується, коли ми хочемо скопіювати весь файл каталог і його вміст. Що в основному означає рекурсивне копіювання всього каталогу.

Синтаксис:

scp -r Directory_name user@hostname:destination_file>

Наприклад: Якщо ми хочемо скопіювати назву вмісту каталогу new з локальної машини на віддалену машину з IP-адресою 10.143.90.2, користувач = jayesh і розташування = /home/jayesh/new1/

Синтаксис:

scp -r new [email protected]:/home/jayesh/new1/>

копіювання всього каталогу та його файлу рекурсивно за допомогою `-r` у scp

Перевірити: Використовуйте команду `ls` у віддаленій системі в місці, де ми скопіювали файл.

новий каталог успішно скопійовано.

Часті запитання щодо команди scp у Linux

Що таке команда scp -r у Linux?

Thescp -r>Команда в Linux використовується для копіювання цілого каталогу та його вмісту. Цей параметр дозволяє рекурсивне копіювання файлів у вказаному каталозі. Ось приклад:

scp -r username@source_machine:/path/to/source/directory username@destination_machine:/path/to/destination/>

Ця команда рекурсивно копіює всі файли та підкаталоги з вихідного каталогу до вказаного місця призначення.

Що таке команда scp в Linux.?

Thescp>Команда в Linux використовується для копіювання файлів або каталогів між хостами через мережу та використовує протокол SSH (Secure Shell) для безпечної передачі файлів. Ось приклад копіювання файлу з локальної машини на віддалений сервер:

scp /path/to/local/file username@remote_machine:/path/to/destination/>

Ця команда безпечно передає вказаний файл на віддалену машину.

Що таке команда reverse scp у Linux?

Реверсу немаєscp>команда в Linux. Thescp>Команда за своєю суттю призначена для копіювання файлів із джерела (локального чи віддаленого) до пункту призначення (локального чи віддаленого). Спеціальної команди для копіювання файлів у зворотному напрямку немає. Якщо ви хочете скопіювати файл із віддаленого розташування до локальної системи, ви все одно використовуєте звичайнийscp>команда.

windows.open javascript

Наприклад:

scp username@remote_machine:/path/to/source/file /path/to/local/destination/>

Ця команда копіює вказаний файл із віддаленого комп’ютера до локального призначення.

Як використовувати команду scp для безпечного копіювання файлів між двома машинами Linux?

Щоб безпечно копіювати файли між машинами Linux, використовуйте такий синтаксис:

scp [options] [destination]>

Наприклад:

scp username@source_machine:/path/to/source/file username@destination_machine:/path/to/destination/>

Які загальні параметри використовуються з scp для безпечної передачі файлів?

Деякі типові параметри, які використовуються з scp, включають:

  • -r>: рекурсивне копіювання цілих каталогів.
  • -P port>: вкажіть порт для підключення на віддаленому хості.
  • -i identity_file>: вкажіть файл закритого ключа для автентифікації.
  • -v>: увімкніть докладний режим для детального виведення під час передачі.

Як я можу скопіювати файли з локальної машини на віддалений сервер за допомогою scp?

Щоб скопіювати файли з локальної машини на віддалений сервер, використовуйте такий синтаксис:

scp /path/to/local/file username@remote_machine:/path/to/destination/>

Як покращити безпеку передачі файлів scp?

Щоб підвищити безпеку під час передачі scp, врахуйте:

  • Використання автентифікації ключа SSH для входу без пароля.
  • Вказати порт не за замовчуванням для додаткової безпеки (-P port>варіант).
  • Обмеження доступу шляхом встановлення відповідних прав доступу до вихідного та кінцевого каталогів.

Як вказати порт SSH у Linux для scp?

Щоб указати порт SSH у Linux дляscp>, ви використовуєте-P>параметр, після якого номер порту. The-P>прапорець дозволяє визначити спеціальний порт для підключення SSH, що корисно, коли сервер SSH на віддаленій машині працює на порту, відмінному від стандартного.

Ось приклад:

scp -P your_file.txt user@remote_server:/path/to/destination/>

У цій команді:

  • Замінити ` `> з фактичним номером порту, який ви хочете використовувати для підключення SSH.
  • `your_file.txt`> це файл, який ви хочете скопіювати.
  • `user`> це ім'я користувача на віддаленому сервері.
  • `remote_server`> це адреса або ім'я хоста віддаленого сервера.
  • `/path/to/destination/`> це каталог призначення на віддаленому сервері, куди потрібно скопіювати файл.

За допомогою ` -P`> після потрібного номера порту переконайтеся, що ` scp`> підключається до віддаленого сервера, використовуючи вказаний порт для безпечної операції копіювання.

Висновок

У цій статті ми обговорилиscp>у Linux, яка є безпечним і простим способом копіювання файлів між комп’ютерами через мережу. Він використовує протокол Secure Shell (SSH) для безпеки та відомий своєю простотою. У статті пояснюється основний синтаксис, загальні параметри та наводяться приклади копіювання файлів, збереження метаданих і безпечного перенесення цілих каталогів. Він також відповів на поширені запитання, наприклад, як скопіювати каталоги та файли у зворотному порядку, а також надав поради щодо покращення безпеки під час передачі. Загалом,scp>це зручний інструмент для безпечного та ефективного керування передачею файлів у системах Linux.