Skip to main content

[Linux] Học nhanh về SCP - Sao chép file an toàn

SCP là gì ?

Scp, từ viết tắt của từ Secure Copy (sao chép an toàn), là một tiện ích dòng lệnh (command) trong hệ điều hành dựa trên Linux và Unix cho phép người dùng sao chép tệp giữa máy chủ từ xa và máy chủ cục bộ.

Vì lệnh này chuyển tệp qua mạng đến một số máy chủ lưu trữ khác, nên cần có quyền truy cập SSH

SSH (Secure Shell) là một giao thức cho phép bạn xử lý các dịch vụ mạng một cách an toàn qua bất kỳ mạng nào.

Cách thức hoạt động SCP

SCP sẽ sử dụng SSH để mã hoá toàn bộ quá trình chuyển tập tin từ vị trí IP hiện tại tới một vị trí IP đich nào đó với chế độ bảo mật như SSH.

Hướng dẫn cài đặt SCP trên Linux

Thông thường SCP có mặt định trên linux nên không phải cài đặt, tuy nhiên vài trường hợp nào đó không có bạn có thể cài nhanh bằng các lệnh bên dưới

# Centos 6,7
yum -y install scp

# Centos 8
dnf -y install scp

#Ubuntu/Debian
apt-get install scp

Hướng dẫn sử dụng SCP

Copy từ máy cục bộ đến một máy từ xa:

scp <options> <files_or_directories> user@target_host:/<folder>

Hoặc copy từ máy tính từ xa đến máy cục bộ

scp <options> user@target_host:/files   <folder_local_system>

<option> bao gồm:

  • -C : Enable Compression (cho phép nén dữ liệu)
  • -i  : identity File or private key (Tệp nhận dạng hoặc khóa mã)
  • -l   : limit the bandwidth while copying (giới hạn băng thông trong khi sao chép, hạn chế ảnh hưởng các tiến trình khác cần băng thông để hoạt động)
  • -P : ssh port number of target host (chỉ định cổng server đích)
  • -p : Preserves permissions, modes and access time of files while copying (Bảo toàn các thông tin như: quyền, chế độ và thời gian truy cập tệp trong khi sao chép)
  • -q :Suppress warning message of SSH (Loại bỏ các thông báo dạng cảnh báo của SSH)
  • -r : Copy files and directories recursively (Sao chép đệ quy các tệp và thư mục)
  • -v :verbose output ( xuất ra nhiều thông tin hơn về những gì chương trình scp đang thực thi ở chế độ nền background – Hữu dụng khi gỡ lỗi sao chép)

Các tùy chọn nếu không có tham số theo sau thì có thể viết gộp cho gọn. Chẳng hạn thay vì viết một loạt tùy chọn: -r -p -v -C ta có thể gộp chúng lại: -Crpv

Ví dụ:

Sao chép tập tin từ máy cục bộ sang máy từ xa

scp /local/directory/file.txt remote_username@10.0.0.31:/remote

Sao chép tập tin từ máy tính ở xa về máy cục bộ

scp remote_username@10.10.0.2:/remote/file.txt /local/directory

Sao chép nhiều thư mục

scp ./data ./config remote_username@192.168.1.120:/remote

Sản Phẩm

Sản Phẩm & Dịch Vụ Dành cho SME