- vừa được xem lúc

Cách sử dụng lệnh SCP để truyền tệp an toàn

0 0 55

Người đăng: Nguyen Minh Chuc

Theo Viblo Asia

SCP (secure copy) là một tiện ích dòng lệnh cho phép bạn sao chép an toàn các tệp và thư mục giữa hai vị trí. Với SCP bạn có thể copy file hoặc thư mục:

  • From your local system to a remote system.
  • From a remote system to your local system.
  • Between two remote systems from your local system Khi truyền dữ liệu bằng scp, cả tệp và mật khẩu đều được mã hóa để bất kỳ ai theo dõi lưu lượng truy cập đều không nhận được bất kỳ thông tin nhạy cảm nào. Trong bài viết này, tôi sẽ chỉ cho bạn cách sử dụng lệnh scp thông qua các ví dụ thực tế và giải thích chi tiết về các tùy chọn scp phổ biến nhất.

SCP Command Syntax

Cú pháp lệnh scp có dạng sau:

scp [OPTION] [_@.com]SRC_HOST:]file1 [_@.com]DEST_HOST:]file2
  • OPTION: các tùy chọn scp như mật mã, cấu hình ssh, cổng ssh, giới hạn… v.v. Xem chi tiết tại đây
  • [_@.com]SRC_HOST:]file1 - Source file
  • [_@.com]DEST_HOST:]file2 - Destination file Local files phải được chỉ định bằng đường dẫn tuyệt đối hoặc tương đối, trong khi remote file phải bao gồm thông số kỹ thuật của người dùng và máy chủ.
  • SCP cung cấp một số tùy chọn kiểm soát mọi khía cạnh của hành vi của nó. Các tùy chọn được sử dụng rộng rãi nhất là:
  • -P : Chỉ định cổng ssh máy chủ từ xa.
  • -p : Duy trì thời gian sửa đổi và truy cập file
  • -q : Sử dụng tùy chọn này nếu bạn muốn loại bỏ đo lường tiến trình và thông báo không lỗi.
  • -C : Tùy chọn này buộc scp nén dữ liệu khi nó được gửi đến máy đích
  • -r : Tùy chọn này yêu cầu scp sao chép các thư mục một cách đệ quy.

Before you Begin

Lệnh scp dựa vào ssh để truyền dữ liệu, vì vậy nó yêu cầu khóa ssh hoặc mật khẩu để xác thực trên hệ thống từ xa. Dấu hai chấm (? là cách scp phân biệt giữa các vị trí cục bộ và từ xa. Để có thể sao chép tệp, ít nhất bạn phải có quyền đọc trên tệp nguồn và quyền ghi trên hệ thống đích. Hãy cẩn thận khi sao chép các tệp có cùng tên và vị trí trên cả hai hệ thống, scp sẽ ghi đè tệp mà không có cảnh báo Khi chuyển các tệp lớn, bạn nên chạy lệnh scp bên phiên tmux.

Copy Files and Directories Between Two Systems with scp

Copy a Local File to a Remote System with the scp Command

Để sao chép tệp từ cục bộ sang hệ thống từ xa, hãy chạy lệnh sau:

scp file.txt _@.com:/remote/directory

Trong đó file.txt là tên của tệp chúng ta muốn sao chép, remote_username là người dùng trên máy chủ từ xa, 10.10.0.2 là địa chỉ IP của máy chủ. Thư mục / remote / là đường dẫn đến thư mục bạn muốn sao chép tệp vào. Nếu bạn không chỉ định thư mục từ xa, tệp sẽ được sao chép vào thư mục chính của người dùng từ xa Bạn sẽ được nhắc nhập mật khẩu người dùng và quá trình chuyển sẽ bắt đầu.

_@.com's password:
file.txt 100% 0 0.0KB/s 00:00

Bỏ qua tên tệp khỏi vị trí đích sẽ sao chép tệp với tên gốc. Nếu bạn muốn lưu tệp dưới một tên khác, bạn cần chỉ định tên tệp mới:

scp file.txt _@.com:/remote/directory/newfilename.txt

Nếu SSH trên máy chủ từ xa đang lắng nghe trên một cổng khác với cổng 22 mặc định thì bạn có thể chỉ định cổng bằng cách sử dụng đối số -P:

scp -P 2322 file.txt _@.com:/remote/directory

Lệnh sao chép một thư mục cũng giống như khi sao chép tệp. Sự khác biệt duy nhất là bạn cần sử dụng cờ -r cho đệ quy. Để sao chép thư mục từ hệ thống cục bộ sang hệ thống từ xa, hãy sử dụng tùy chọn -r:

scp -r /local/directory _@.com:/remote/directory

Copy a Remote File to a Local System using the scp Command

Để sao chép tệp từ điều khiển từ xa vào hệ thống cục bộ, hãy sử dụng vị trí từ xa làm nguồn và vị trí cục bộ làm đích. Ví dụ: để sao chép tệp có tên file.txt từ máy chủ từ xa có IP 10.10.0.2, hãy chạy lệnh sau:

scp _@.com:/remote/file.txt /local/directory

Copy a File Between Two Remote Systems using the scp Command

Không giống như rsync, khi sử dụng scp, bạn không phải đăng nhập vào một trong các máy chủ để chuyển tệp từ máy này sang máy khác từ xa. Lệnh sau sẽ sao chép tệp /files/file.txt từ máy chủ lưu trữ từ xa host1.com vào thư mục / tệp trên máy chủ lưu trữ từ xa host2.com.

scp _@.com:/files/file.txt _@.com:/files

Bạn sẽ được nhắc nhập mật khẩu cho cả hai tài khoản từ xa. Dữ liệu sẽ được chuyển trực tiếp từ máy chủ từ xa này sang máy chủ khác.

Trong hướng dẫn này, bạn đã học cách sử dụng lệnh scp để sao chép tệp và thư mục. Hy vọng có thể giúp mọi người. Happy coding! Link tham khảo: https://linuxize.com/post/how-to-use-scp-command-to-securely-transfer-files/

Bình luận

Bài viết tương tự

- vừa được xem lúc

Docker: Chưa biết gì đến biết dùng (Phần 3: Docker-compose)

1. Mở đầu. . .

0 0 121

- vừa được xem lúc

Các command trên ubuntu (chiếm 80%) - phần 5

Hello 500 ae, sau 4 số trong seri này mình thấy có vẻ ae có hứng thú đọc chủ đề này ghê. Hi vọng những gì mình tìm hiểu được sẽ giúp ích được cho nhiều bạn hơn.

0 0 51

- vừa được xem lúc

Những lệnh command shell linux cơ bản có thể bạn chưa biết - Phần 1

Bài viết này sẽ liệt kê một số command cơ bản thường được dùng trong linux, tiện dụng cho các bạn khi sử dụng linux mà có thể bạn chưa biết. Tôi là ai, câu lệnh này sẽ cho bạn biết bạn đang sử dụng linux bằng tài khoản người dùng nào.

0 0 55

- vừa được xem lúc

Người ta làm cách nào để backup thường xuyên thư mục rất lớn?

. Vấn đề về sao lưu thư mục lớn. Mình có lưu "sương sương" 300GB các tệp tin của người dùng upload lên, như hình ảnh hay các tệp đính kèm.

0 0 49

- vừa được xem lúc

Các command trên ubuntu (chiếm 80%) - phần 4

Sau một kì nghỉ tết trong thời buổi đại dịch vừa qua. Không còn những buổi dong chơi đi chúc tết nữa. Ở nhà ra số tiếp theo cho anh em đây. Dưới đây sẽ là 2 command được sử dụng nhiều nhất khi sử dụng file.

0 0 52

- vừa được xem lúc

Một số câu lệnh để monitor Linux

Giới thiệu. Xin chào, trong bài viết này mình sẽ nêu ra một số câu lệnh thường được sử dụng để monitor và debug khi làm việc với linux, hy vọng sẽ hữu ích cho bạn. Top – Linux Process Monitoring. Top dùng để monitor perform của Linux.

0 0 46