Hướng Dẫn Sử Dụng SCP Để Copy File Trên Linux

SCP là gì?

Mô Hình Lab

Trong bài viết này, HOSTVN sẽ sử dụng 02 Server chạy CentOS 7 để thực hiện trao đổi file qua SCP.

Kiểm Tra SCP Trên Linux

Thông thường SCP đã được cài sẵn cùng OpenSSH.

Kiểm tra bằng lệnh:

scp -V

Hoặc:

which scp

Ví dụ output:

/usr/bin/scp

Cài Đặt SCP Trên Linux

Thực tế SCP nằm trong package OpenSSH Client.

Ubuntu/Debian

sudo apt update
sudo apt install openssh-client -y

CentOS/AlmaLinux/Rocky Linux

sudo yum install openssh-clients -y

Hoặc với AlmaLinux/Rocky Linux 9

sudo dnf install openssh-clients -y

Cú Pháp SCP Trên Linux

Cú pháp cơ bản:

scp [OPTION] SOURCE DESTINATION

Trong đó:

Thành phần Ý nghĩa
scp Gọi lệnh SCP
OPTION Tùy chọn thêm
SOURCE File/thư mục nguồn
DESTINATION File/thư mục đích

Các Option SCP Thường Dùng

Option Chức năng
-r Copy thư mục
-P Chỉ định port SSH
-C Nén dữ liệu trước khi transfer
-i Sử dụng SSH Private Key
-p Giữ nguyên permission và timestamp
-l Giới hạn băng thông
-v Hiển thị log chi tiết
-c Chọn thuật toán mã hóa

Copy File Từ Local Sang Remote Server

Ví dụ copy file test1.txt từ Server 01 sang Server 02:

scp test1.txt 10.10.10.12:/root/
Thành phần Ý nghĩa
test1.txt File nguồn
root User SSH trên server đích
10.10.10.12 IP server đích
/root/ Thư mục lưu file

Xác Thực SSH Lần Đầu

Nếu lần đầu kết nối SSH đến server, hệ thống sẽ hỏi xác nhận fingerprint:

The authenticity of host '10.10.10.12' can't be established.
Are you sure you want to continue connecting (yes/no)?

Nhập:

yes

Sau đó nhập password của user remote.

Copy File Từ Remote Server Về Local

Ví dụ download file từ server về local:

scp 10.10.10.12:/root/test2.txt /home/

Lệnh trên sẽ copy:

/root/test2.txt

từ server remote về:

/home/


trên máy local.

Copy Nhiều File Cùng Lúc

scp test1.txt test2.txt 10.10.10.12:/root/

Các file chỉ cần cách nhau bằng dấu cách.

Copy Thư Mục Bằng SCP

Sử dụng option -r:

scp -r /home/data 10.10.10.12:/root/

Lệnh trên sẽ copy toàn bộ thư mục:

/home/data

sang server remote.

Hiển Thị Log Chi Tiết Khi Transfer

Dùng option -v:

scp -rv /home/data 10.10.10.12:/root/

Rất hữu ích khi debug lỗi SSH.

Nén Dữ Liệu Để Tăng Tốc Transfer

Dùng option -C:

scp -rC /home/data 10.10.10.12:/root/

SCP sẽ tự động:

  1. Nén dữ liệu trước khi gửi
  2. Truyền dữ liệu
  3. Giải nén ở máy đích

Phù hợp khi:

Giới Hạn Băng Thông

Nếu không muốn SCP chiếm toàn bộ bandwidth server:

scp -r -l 400 /home/data 10.10.10.12:/root/

Trong đó:

400

là giới hạn tốc độ theo đơn vị Kbit/s.

Sử Dụng Port SSH Khác 22

Nếu server remote đổi port SSH:

scp -P 8686 test1.txt 10.10.10.12:/root/

Lưu ý:

Đây là lỗi rất nhiều người dễ nhầm.

Sử Dụng SSH Key Với SCP

Ví dụ dùng private key:

scp -i ~/.ssh/id_rsa test1.txt 10.10.10.12:/root/

Hoặc file .pem:

scp -i server.pem test1.txt 10.10.10.12:/root/

Giữ Nguyên Permission Và Timestamp

Dùng option -p:

scp -p test1.txt 10.10.10.12:/root/

SCP sẽ giữ nguyên:

Thay Đổi Thuật Toán Mã Hóa

Mặc định SCP dùng AES.

Có thể đổi sang thuật toán khác:

scp -c aes128-gcm@openssh.com test1.txt 10.10.10.12:/root/

Lưu ý:

Một Số Lỗi Thường Gặp

Permission denied

Nguyên nhân:

Kiểm tra:

ls -ld /root/

Connection refused

Nguyên nhân:

Kiểm tra:

systemctl status sshd

No such file or directory

Nguyên nhân:

Kiểm tra:

ls -lah

Những Điều Cần Lưu Ý Khi Sử Dụng SCP

Kết luận

SCP là công cụ đơn giản và hiệu quả giúp transfer file an toàn giữa các máy chủ Linux thông qua SSH. Với cú pháp dễ sử dụng và được tích hợp sẵn trên hầu hết hệ điều hành Linux như Ubuntu, CentOS hay AlmaLinux, SCP là công cụ rất hữu ích cho quản trị VPS và Server Linux. Hy vọng bài viết sẽ giúp bạn sử dụng SCP dễ dàng và hiệu quả hơn trong thực tế.



Article ID: 1361
Cập nhật gần nhất: 20 Th05, 2026
Lần sửa đổi: 3
VPS (Máy chủ ảo) -> VPS Linux -> Hướng Dẫn Sử Dụng SCP Để Copy File Trên Linux
https://kb.hostvn.net/hung-dn-s-dng-scp-d-copy-file-tren-linux_1361.html