SCP Command là gì? Hướng dẫn sử dụng SCP Command trong Linux

994
16-12-2024
SCP Command là gì? Hướng dẫn sử dụng SCP Command trong Linux

Để sao chép an toàn tệp từ máy cục bộ sang máy từ xa và ngược lại trên Linux sẽ cần sử dụng đến SCP Command. Vậy SCP Command là gì và làm sao để sử dụng lệnh này trong Linux? Hãy cùng tìm hiểu với Bizfly Cloud trong bài viết sau.

SCP Command là gì?

SCP là viết tắt của cụm Secure Copy Protocol vì thế ta có thể hiểu SCP Command là lệnh dùng để sao chép tệp và thư mục một cách an toàn giữa các máy tính, bao gồm cả việc chuyển dữ liệu giữa máy cục bộ và máy chủ từ xa, hoặc giữa hai máy chủ từ xa. Lệnh này sử dụng giao thức SSH (Secure Shell) để mã hóa dữ liệu trong quá trình truyền tải, đảm bảo rằng thông tin nhạy cảm không bị lộ ra ngoài.

Cú pháp của SCP Command

Cú pháp cơ bản của lệnh SCP như sau:

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

Trong đó:

● [options]: Các tùy chọn bổ sung để điều chỉnh hành vi của lệnh SCP.

● [[user@]host1:]: Địa chỉ máy chủ nguồn, có thể là máy local hoặc remote.

● source_file_or_directory: Tệp hoặc thư mục cần sao chép từ máy chủ nguồn.

● [[user@]host2:]: Địa chỉ máy chủ đích, nơi tệp sẽ được sao chép đến.

● destination: Đường dẫn đến thư mục đích trên máy chủ đích.

Một số tùy chọn thường được sử dụng với lệnh SCP gồm:

Tùy chọn

Mô tả

-P port

Chỉ định cổng SSH kết nối trên máy chủ remote (khác với cổng mặc định 22)

-p

Giữ nguyên thời gian sửa đổi và truy cập của tệp.

-q

Tắt hiển thị tiến trình sao chép.

-r

Sao chép toàn bộ thư mục và nội dung bên trong theo kiểu đệ quy.

-C

Nén dữ liệu khi truyền tải.

-i identity_file

Chỉ định file khóa riêng để xác thực

-l limit

Giới hạn băng thông trong quá trình truyền dữ liệu.

SCP Command là gì?

SCP Command là gì?

Một số lưu ý khi sử dụng SCP Command

Lệnh SCP sử dụng SSH để di chuyển dữ liệu, yêu cầu xác thực bằng khóa SSH hoặc mật khẩu. Dấu hai chấm (:) phân biệt giữa vị trí cục bộ và từ xa. Để sao chép tệp, cần có quyền đọc trên tệp nguồn và quyền ghi trên hệ thống đích.

Lưu ý: SCP sẽ ghi đè tệp trùng tên mà không cảnh báo, nên cần cẩn trọng. Đối với tệp lớn, nên chạy SCP trong screen hoặc phiên tmux để tránh mất kết nối.

Hướng dẫn sử dụng SCP Command trong Linux

1. Cách sao chép an toàn một tệp từ máy cục bộ sang máy từ xa

Để sao chép an toàn một tệp từ máy tính cục bộ sang máy tính từ xa, bạn sử dụng câu lệnh như sau:

Sử dụng lệnh SCP để sao chép tệp từ máy cục bộ vào máy chủ từ xa, như VPS, giúp dễ dàng triển khai ứng dụng web. Bạn có thể nhanh chóng đẩy các tệp cập nhật từ môi trường phát triển lên máy chủ.

Ví dụ, để sao chép tệp scp.zip vào máy chủ từ xa với người dùng root, bạn sử dụng lệnh sau:

scp /users/Hostinger/desktop/scp.zip root@162.168.1.2:/viết/bài viết

Nếu chưa thiết lập cặp khóa SSH, hệ thống sẽ yêu cầu nhập mật khẩu và hiển thị thanh tiến trình. SCP sử dụng cổng SSH mặc định 22, nhưng nếu có cổng tùy chỉnh, bạn có thể thêm tùy chọn -P:

scp -P 2322 /users/Hostinger/desktop/scp.zip root@162.168.1.2:/writing/article


Để đổi tên tệp đã truyền, bạn chỉ cần chỉ định tên mới trong thư mục đích:

scp /users/Hostinger/desktop/scp.zip root@162.168.1.2:/writing/article/howtoscp.zip


Bạn cũng có thể sao chép thư mục một cách đệ quy bằng lệnh -r để chuyển nhiều tệp cùng lúc:

scp -r /users/Hostinger/desktop root@162.168.1.2:/viết/bài viết


Ngoài ra, bạn có thể sao chép nhiều tệp bằng cách chỉ định tên của chúng:

scp file1.txt file2.txt file3.txt root@

2. Cách sao chép an toàn một tệp tin từ máy tính từ xa đến máy tính cục bộ

Để chuyển dữ liệu từ hệ thống từ xa về máy cục bộ bằng SCP, bạn chỉ cần đảo ngược vị trí nguồn và đích. Điều này giúp bạn tải xuống và làm việc với tệp dự án ngoại tuyến.

Ví dụ, sử dụng lệnh sau để kéo tệp scp.zip từ VPS về máy cục bộ:

scp root@162.168.1.2:/writing/articles/SCP.zip /Users/Hostinger/Desktop

Khi chạy lệnh này, bạn sẽ được yêu cầu nhập mật khẩu SSH. Nếu bạn đã thiết lập xác thực khóa công khai, bạn sẽ không cần nhập mật khẩu.

3. Cách sao chép tệp tin giữa hai máy tính từ xa

SCP không chỉ cho phép chuyển tệp đến hoặc từ máy chủ hiện tại mà còn giữa hai máy Linux từ xa. Điều này giúp cải thiện hiệu quả, đặc biệt khi bạn có nhiều dự án trên các máy khác nhau, vì bạn không cần đăng nhập vào từng hệ thống riêng lẻ.

Ví dụ, để chuyển tệp scp.zip từ root@162.168.1.2 sang hostinger@162.168.1.1, bạn dùng lệnh sau:

scp root@162.168.1.2:/viết/bài viết/scp.zip hostinger@162.168.1.1:/xuất bản

Bạn sẽ cần mật khẩu SSH cho cả hai tài khoản. Theo mặc định, SCP truyền dữ liệu trực tiếp giữa các máy từ xa, nhưng bạn có thể định tuyến qua máy tính cục bộ bằng cách thêm tùy chọn -3:

scp -3 root@162.168.1.2:/viết/bài viết/scp.zip hostinger@162.168.1.1:/xuất bản

Tùy chọn này hữu ích khi gặp lỗi mạng giữa các hệ thống, mặc dù nó có thể làm chậm quá trình và không hiển thị thanh tiến trình.

Kết luận

SCP Command không chỉ là một công cụ mạnh mẽ để truyền tải dữ liệu mà còn đảm bảo tính bảo mật cho thông tin của bạn trong quá trình truyền. Qua hướng dẫn trên, hy vọng bạn đã nắm vững cách sử dụng SCP Command trong Linux để thực hiện các thao tác sao chép tệp tin một cách hiệu quả.

SHARE