giảm giá 50% tất cả các kế hoạch, thời gian có hạn. Bắt đầu lúc $2.48/mo
còn 12 phút
Máy chủ & Hệ điều hành

SCP từ xa đến cục bộ – Lệnh SCP của Linux

Ada Lovegood By Ada Lovegood đọc 12 phút
scp từ xa đến cục bộ

Bạn đã bao giờ muốn chuyển một số tệp qua mạng máy tính và gặp phải những thách thức về bảo mật chưa? Chà, bạn không thể chỉ ném các tập tin của mình lên mạng và mong muốn chúng luôn được bảo mật và an toàn, như Cô bé quàng khăn đỏ! Bạn cần các biện pháp an ninh. Bạn nên sử dụng giao thức truyền tệp để đảm bảo dữ liệu của bạn được bảo vệ khỏi truy cập trái phép, đánh cắp mạng, vi phạm dữ liệu và các loại mối đe dọa khác.

Giao thức sao chép an toàn (SCP) là một giao thức mạng truyền tệp mạnh mẽ giúp truyền tệp giữa các máy khác nhau trên mạng. Trong bài đăng trên blog này, chúng ta sẽ làm quen hơn với giao thức này và khám phá tiềm năng của việc sử dụng SCP từ máy từ xa đến máy cục bộ.

SCP hoạt động như thế nào? 

SCP sử dụng SSH (Secure Shell) để truyền tệp của bạn. Nhưng điều này thậm chí có nghĩa là gì? SSH là một giao thức mạng để truy cập từ xa vào máy chủ một cách an toàn và bảo mật. Nó được trang bị các phương pháp xác thực, mã hóa và xác minh tính toàn vẹn của các tệp dữ liệu được truyền. SCP dựa vào các tính năng bảo mật và phương thức mã hóa do SSH cung cấp để truyền tệp qua mạng một cách an toàn. Bằng cách này, bạn có thể sử dụng SCP từ máy chủ từ xa đến máy chủ cục bộ để kết nối và truyền tệp an toàn, đồng thời đảm bảo tính xác thực và bảo mật dữ liệu của bạn.

Sử dụng SCP để truyền tệp; Tại sao và như thế nào? 

Sử dụng SCP từ xa đến cục bộ và SCP cục bộ đến từ xa là một cách hiệu quả và linh hoạt để truyền tệp. SCP cung cấp một số lợi thế chính cho việc truyền tệp. Ví dụ: SCP cung cấp các biện pháp bảo mật mạnh mẽ hơn các phương thức truyền tệp khác như FTP. Một khía cạnh khác mà SCP khác biệt với các giao thức khác là tốc độ. SCP thường nhanh hơn nhiều so với các giao thức khác như SFTP và đây là công cụ tuyệt vời để truyền tệp giữa các máy Linux.

Bạn có thể di chuyển các tập tin bằng SCP:

  • Từ máy cục bộ đến máy từ xa
  • Từ máy từ xa đến máy cục bộ
  • Từ một máy từ xa đến một máy từ xa khác.

Bây giờ, hãy chuyển sang sử dụng cú pháp SCP của Linux để truyền tệp. Điều đầu tiên bạn cần làm là thiết lập SSH trên cả hai máy tính của mình. Tuy nhiên, điều quan trọng cần lưu ý là SSH thường được cài đặt trên tất cả các máy Linux. Vì vậy, nếu trường hợp đó xảy ra với bạn, bạn có thể bỏ qua các bước này.

1. Thiết lập SSH

Chạy lệnh sau để cài đặt SSH:

sudo apt install openssh-client

2. Tạo khóa SSH

Sau đó, thiết bị khách phải thiết lập kết nối SSH. Kết nối an toàn giữa máy khách và máy chủ cần có khóa riêng và khóa chung được thiết lập. Lệnh này tạo cặp khóa SSH cho bạn:

ssh-keygen

trong khi chạy lệnh này, có thể bạn sẽ được yêu cầu cung cấp tên cho cặp khóa và cụm mật khẩu (đây là tùy chọn). Sau đó, khi cặp khóa được tạo, bạn phải sao chép khóa chung vào máy chủ.

Bây giờ, chúng ta hãy xem dạng chung của lệnh SCP:

scp [options] [source username@IP]:/[directory/file name] [destination username@IP]:/[directory]
  • [options] > Dấu ngoặc đầu tiên này có thể được thay thế bằng các tùy chọn khác nhau của lệnh SCP mà chúng ta sẽ đề cập sau.
  • [source username@IP] > Dấu ngoặc này phải được thay thế bằng tên người dùng và địa chỉ IP của máy cục bộ. Ví dụ: [email protected]
  • [tên thư mục/tệp] > Dấu ngoặc này phải được thay thế bằng vị trí của tệp bạn muốn gửi.
  • [destination username@IP] > Dấu ngoặc này phải được thay thế bằng tên người dùng và địa chỉ IP của máy nhận.
  • [thư mục] > Thay thế phần này bằng vị trí mong muốn của tệp của bạn trên máy từ xa.

Vì vậy, bây giờ bạn đã biết lệnh chung trông như thế nào. Hãy xem xét tất cả các tùy chọn hữu ích của lệnh SCP:

Lựa chọn Trường hợp sử dụng
-C
Bằng cách sử dụng tùy chọn này, SCP sẽ nén các tệp của bạn khi truyền chúng.
-c <mật mã>
Bạn có thể sử dụng tùy chọn này để yêu cầu SCP sử dụng một mật mã cụ thể. Ví dụ: scp -c <aes128-ctr>.
-v
Tùy chọn này cung cấp cho bạn quy trình từng bước của quy trình.
-l <giới hạn tính bằng kilobyte>
Tùy chọn này cho phép bạn đặt giới hạn cho băng thông tối đa. Ví dụ: ví dụ sau đặt mức sử dụng băng thông thành 100 kb mỗi giây: scp -l 100
-P
Bằng cách sử dụng tùy chọn này, bạn có thể thay đổi cổng ssh của máy chủ từ xa mà bạn muốn kết nối. SCP sử dụng cổng 22 theo mặc định.
-S <tên chương trình>
Bạn có thể sử dụng tùy chọn này để chọn chương trình để kết nối.
-r
Sao chép toàn bộ tập tin hoặc thư mục theo cách đệ quy.

Truyền tập tin bằng SCP 

Vậy bạn còn nhớ rằng chúng ta có ba loại chuyển giao với SCP phải không? Bây giờ, chúng tôi muốn khám phá từng loại chuyển khoản một cách phụ thuộc. Nhưng hãy xác định sứ mệnh trước khi bắt đầu. Tôi có bức ảnh con mèo này trên màn hình máy tính Linux của mình và ở bước đầu tiên, tôi muốn chuyển nó sang máy chủ Linux từ xa. Sau đó tôi sẽ chuyển nó trở lại máy tính cục bộ của tôi. Và cuối cùng, chú mèo may mắn sẽ di chuyển giữa 2 chiếc máy từ xa.

truyền hình ảnh bằng scp

SCP từ cục bộ đến từ xa 

Sử dụng lệnh này sẽ chuyển tệp của chúng tôi từ máy tính cục bộ sang máy chủ từ xa:

scp [path/to/the/file] [Username]@[IP address]:[path/to/the/location]

Để sử dụng lệnh scp với mật khẩu, bạn nên nhập mật khẩu của máy chủ từ xa. Và sau đó bạn đã hoàn tất.

Sử dụng SCP để chuyển tập tin từ cục bộ sang từ xa

SCP từ xa đến cục bộ

Để đảo ngược quá trình này, bạn không cần truy cập vào thiết bị đầu cuối của máy chủ từ xa. Trên thiết bị đầu cuối của máy tính cục bộ của bạn, gõ lệnh này:

scp [username]@[IP address of the remote machine]:[path/to/the/file] [path/to/the/location]

Như bạn có thể thấy, chúng ta vừa đảo ngược hai phần của lệnh này.

Sử dụng SCP để chuyển file từ xa về cục bộ

SCP giữa hai máy từ xa

Bây giờ, hãy chuyển con mèo giữa hai máy từ xa. Bước này yêu cầu mật khẩu của cả hai máy từ xa, vì vậy hãy đảm bảo bạn có chúng. Sử dụng lệnh này để truyền tệp giữa hai máy tính từ xa:

scp [username of the 1st remote machine]@[IP address of the 1st remote machine]:[path/to/the/file] [username of the 2nd remote machine]@[IP address of the 2nd remote machine]:/[path/to/location]

sử dụng scp để truyền tập tin giữa hai hệ thống từ xa

Các lệnh SCP phổ biến khác

Các lệnh SCP phổ biến nhất là scp từ xa đến cục bộ, scp từ cục bộ đến từ xa và SCP giữa hai máy chủ từ xa. Nhưng đừng dừng lại ở đó và khám phá một số ví dụ về scp Linux hữu ích khác.

1. Sao chép đệ quy toàn bộ thư mục

Hãy tưởng tượng bạn muốn chuyển toàn bộ thư mục chứa tất cả các tệp trong đó. Sẽ thực sự tốn thời gian để chuyển từng tập tin đó. Thay vào đó, bạn có thể sử dụng lệnh scp multiple files để sao chép đệ quy một thư mục:

scp -r [Path/to/directory] [username of the remote server]@[Ip address]:/[path/to/the/location]

Điều này có thể hữu ích cho nhiều tình huống:

  • Triển khai mã: khi triển khai mã hoặc ứng dụng web, bạn có thể cần chuyển toàn bộ thư mục cùng với tất cả các thành phần của nó như tệp và tập lệnh.
  • Sao lưu và đồng bộ hóa: NẾU bạn muốn sao lưu toàn bộ thư mục hoặc nếu bạn muốn đồng bộ hóa hai thư mục trên máy cục bộ và máy chủ từ xa, bạn cần sao chép mọi thứ theo cách đệ quy.
  • Di chuyển hệ thống: Một nhiệm vụ quan trọng trong quá trình di chuyển hệ thống là sao chép và chuyển mọi thông tin quan trọng. Sử dụng lệnh SCP với tùy chọn -r sẽ đảm bảo rằng bạn không bỏ sót bất kỳ điều gì trong quá trình di chuyển của mình.

2. Hạn chế sử dụng băng thông

Nếu bạn muốn kiểm soát tốc độ truyền dữ liệu của mình, bạn có thể sử dụng lệnh sau:

scp -l <limit> [path/to/the/file] [Username]@[IP address]:[path/to/the/location]

Tại sao bạn lại làm điều đó?
Trong hai trường hợp này, bạn có thể sử dụng cú pháp scp của Linux để đặt giới hạn băng thông:

  • Tắc nghẽn mạng: Nếu mạng của bạn bị tắc nghẽn nghiêm trọng, việc giới hạn băng thông bằng scp có thể giúp phân phối tài nguyên mạng. Việc giới hạn băng thông với SCP đảm bảo rằng các tác vụ khác liên quan đến mạng sẽ chạy mà không gặp bất kỳ sự cố nào. Điều này cũng quan trọng khi truyền tệp qua mạng chia sẻ và quá trình của bạn có thể cản trở hoạt động mạng của những người dùng khác.
  • Chuyển nền: Trong quá trình truyền SCP nền như sao lưu tự động hoặc quá trình đồng bộ hóa, có khả năng các tác vụ này sẽ ngốn hết tài nguyên mạng của bạn. Trong trường hợp này, bạn có thể giới hạn băng thông trên các quá trình truyền này để quản lý tài nguyên tốt hơn.

3. Lấy nhật ký chi tiết

Sử dụng tùy chọn -v với SCP sẽ cung cấp cho bạn nhật ký chi tiết về thông tin bổ sung về quá trình chuyển giao. Bạn có thể sử dụng lệnh bên dưới để nhận phản hồi và thông tin chi tiết:

scp -v [path/to/the/file] [Username]@[IP address]:[path/to/the/location]

Đây là lý do tại sao bạn cần ghi nhớ và sử dụng lệnh này:

  • Khắc phục sự cố: sử dụng tùy chọn này sẽ hiển thị cho bạn tiến trình chuyển dữ liệu đang diễn ra. Bạn có thể xem thông tin như kích thước tệp và tỷ lệ phần trăm hoàn thành. Nó cũng cung cấp cho bạn các thông báo lỗi và cảnh báo. Việc kết hợp những dữ liệu này cho phép bạn theo dõi và khắc phục sự cố trong quá trình truyền khi cần thiết.

4. Chỉ định cổng SSH

Sử dụng cú pháp scp của Linux với tùy chọn -P cho phép bạn thay đổi cổng SSH. Đây là lệnh cho phép bạn làm điều đó:

scp -P [port number] [path/to/the/file] [Username]@[IP address]:[path/to/the/location]

Điều này có thể hữu ích cho:

  • Cấu hình tường lửa: Nếu cổng SSH mặc định bị hạn chế hoặc nếu bạn muốn ẩn dịch vụ SSH khỏi các mối đe dọa tiềm ẩn, bạn có thể thay đổi cổng SSH.

Có lựa chọn thay thế nào cho SCP không?

SCP nhanh và an toàn, đồng thời nếu biết đúng cú pháp scp của Linux cũng như một số kiến ​​thức khắc phục sự cố, đây có thể là công cụ duy nhất bạn cần. Tuy nhiên, không có hại gì khi xem xét các lựa chọn thay thế của nó.

1. rsync

rsync là một công cụ truyền tệp linh hoạt với khả năng đồng bộ hóa nâng cao, truyền tăng dần và sao chép từ xa và cục bộ. Nó cũng có thể giảm mức sử dụng băng thông bằng cách chỉ chuyển những khác biệt giữa tệp nguồn và tệp đích. Một ưu điểm lớn khác của việc sử dụng rsync là nó có thể tiếp tục quá trình truyền tệp bị gián đoạn từ nơi chúng đã dừng lại và tiếp tục quá trình.

rsync Ưu điểm

  • Đồng bộ hóa hiệu quả các tập tin và thư mục.
  • Hỗ trợ thuật toán truyền delta, giảm truyền dữ liệu.
  • Có thể tiếp tục chuyển bị gián đoạn.

Nhược điểm của rsync

  • Yêu cầu cài đặt rsync trên cả hệ thống nguồn và đích.
  • Yêu cầu nhiều tùy chọn thiết lập và lệnh hơn so với scp.

2. SFTP (Giao thức truyền tệp SSH)

SFTP cung cấp một cách an toàn để truyền tệp qua SSH. Nó cung cấp chức năng tương tự như FTP nhưng hoạt động qua kết nối SSH được mã hóa, giống như SCP. Nhưng ở một số khu vực, lợi thế của SFTP vượt trội hơn lợi thế của SCP. SCP không thể tạo danh sách thư mục, tạo hoặc xóa thư mục, v.v. Tuy nhiên, SFTP có thể thực hiện tất cả các tác vụ này.

Ưu điểm của SFTP

  • Truyền tập tin an toàn bằng mã hóa.
  • Khả năng quản lý tập tin từ xa.
  • Tính khả dụng rộng rãi trên hầu hết các hệ thống Linux và Unix.

Nhược điểm của SFTP

  • Cú pháp lệnh và cách sử dụng khác với FTP truyền thống.
  • Có thể có hỗ trợ hạn chế trên một số hệ thống hoặc thiết bị nhúng nhất định.

3. FTP (Giao thức truyền tệp)

FTP là một giao thức tiêu chuẩn được sử dụng rộng rãi để truyền tệp. Nó hoạt động theo mô hình máy khách-máy chủ và cung cấp chức năng truyền tệp cơ bản.

Ưu điểm của FTP

  • Hỗ trợ rộng rãi trên nhiều nền tảng khác nhau.
  • Các máy khách đồ họa và dòng lệnh quen thuộc đều có sẵn.

Nhược điểm của FTP

  • Thiếu mã hóa/kém an toàn hơn so với scp và sftp.
  • Có thể yêu cầu cấu hình tường lửa bổ sung để thiết lập kết nối.
  • Xác thực văn bản thuần túy.

Nhìn chung, mặc dù scp là một lựa chọn đơn giản và đáng tin cậy để truyền tệp an toàn qua SSH, nhưng các lựa chọn thay thế như rsync, sftp và FTP có thể cung cấp các tính năng bổ sung và tính linh hoạt tùy thuộc vào yêu cầu cụ thể.
Vậy làm thế nào để bạn quyết định chọn cái nào? Bạn nên xem xét các yếu tố như bảo mật, nhu cầu đồng bộ hóa, tính dễ sử dụng và khả năng tương thích với hệ thống và giao thức của bạn. Ví dụ: nếu bảo mật và bảo mật dữ liệu là những yếu tố quan trọng nhất trong quá trình truyền tệp của bạn thì FTP không phải là lựa chọn tốt.

Phần kết luận 

SCP là một công cụ nhanh chóng và an toàn để truyền tệp giữa các máy tính. Bạn có thể sử dụng scp từ xa đến cục bộ, từ cục bộ đến từ xa và thậm chí giữa hai hệ thống từ xa để truyền tệp. Và mặc dù có những lựa chọn thay thế cho SCP thực hiện công việc thích hợp, như rsync, nhưng nó vượt trội hơn chúng theo nhiều cách, đặc biệt là về bảo mật và tốc độ. Trong bài đăng trên blog này, chúng tôi đã nói về SCP, các trường hợp sử dụng và các lựa chọn thay thế của nó, đồng thời cũng cung cấp một bảng tóm tắt để dễ dàng truy cập vào cú pháp được sử dụng thường xuyên.

Câu hỏi thường gặp 

Có bất kỳ mối lo ngại nào về bảo mật mà tôi nên biết khi sử dụng SCP từ Remote đến Local không?  

SCP là một công cụ khá an toàn và bảo mật, bạn không cần phải lo lắng về các mối đe dọa bảo mật khi sử dụng nó. Tuy nhiên, bạn luôn nên thực hiện bất kỳ biện pháp bảo mật bổ sung nào có thể.

Một số lỗi phổ biến xảy ra khi sử dụng SCP từ xa đến cục bộ là gì? 

Khi sử dụng SCP để truyền tệp từ máy chủ từ xa sang máy cục bộ, người dùng có thể gặp một số lỗi phổ biến. Dưới đây là hai lỗi phổ biến nhất khi sử dụng SCP từ xa đến cục bộ:

  1. Không có tệp hoặc thư mục như vậy: lỗi này xảy ra khi bạn chưa chỉ định đúng số cổng, cài đặt quyền truy cập tệp không chính xác hoặc khi thông tin đăng nhập không chính xác.
  2. Xác minh khóa máy chủ không thành công: Thông báo lỗi này xảy ra khi khóa máy chủ đã thay đổi do nâng cấp máy chủ. Khóa máy chủ cho thấy rằng bạn đã kết nối với máy chủ đó trước đó và khi xác minh khóa máy chủ không thành công, điều đó cho thấy danh tính của máy chủ đã thay đổi. Lỗi này đang cố gắng bảo vệ bạn khỏi kết nối với máy chủ lừa đảo.

Làm cách nào để sử dụng SCP để truyền tập tin giữa các hệ thống từ xa?

Để truyền thành công tệp giữa các hệ thống bằng SCP, cả hai máy tính đều phải có thể truy cập được thông qua SSH. bạn cũng cần địa chỉ IP và mật khẩu của các máy từ xa. Phần còn lại chỉ là sử dụng đúng lệnh SCP:

scp [username of the 1st remote machine]@[IP address of the 1st remote machine]:[path/to/the/file] [username of the 2nd remote machine]@[IP address of the 2nd remote machine]:/[path/to/location]

Sau khi gõ lệnh này, bạn sẽ được yêu cầu cung cấp mật khẩu cho máy chủ. Sau đó, tập tin của bạn sẽ được chuyển.

Chia sẻ

Thêm từ blog

Hãy tiếp tục đọc.

Các ứng dụng tự lưu trữ tốt nhất bạn có thể chạy với ảnh bìa Cosmos Cloud với các bảng ứng dụng xung quanh bảng điều khiển Cosmos.
Máy chủ & Hệ điều hành

Các ứng dụng tự lưu trữ tốt nhất bạn có thể chạy với Cosmos Cloud: Tệp, Phương tiện, Mật khẩu, Tự động hóa, v.v.!

Có thể bạn đã thiết lập Cosmos Cloud và bây giờ muốn xem ứng dụng nào phù hợp với nó hoặc có thể bạn thậm chí chưa quyết định chọn Cosmos và chỉ muốn xem nó phù hợp với công việc của bạn như thế nào

Nick bạcNick bạc đọc 16 phút
Portainer vs Cosmos Cloud để quản lý ứng dụng Docker bao gồm sơ đồ thiết lập kết hợp và các hoạt động neon so với các khối truy cập.
Máy chủ & Hệ điều hành

Portainer vs Cosmos Cloud: Phù hợp nhất để quản lý ứng dụng Docker

Nếu bạn đã biết Docker và chỉ muốn một cách rõ ràng hơn để chạy một ngăn xếp ứng dụng đang phát triển thì đây là câu trả lời ngắn gọn cho Portainer vs Cosmos Cloud. Portainer là sự lựa chọn mạnh mẽ hơn cho Direc

Nick bạcNick bạc đọc 14 phút
Đồ họa nổi bật của Cosmos Cloud vs CasaOS vs Umbrel hiển thị ba đường dẫn tự lưu trữ bên trong một thế giới mạng đám mây trừu tượng.
Máy chủ & Hệ điều hành

Cosmos Cloud vs CasaOS vs Umbrel: Nền tảng tự lưu trữ nào phù hợp với thiết lập của bạn?

Câu trả lời ngắn gọn là CasaOS vẫn là nơi dễ bắt đầu nhất, Umbrel có cảm giác được quản lý rõ ràng nhất và Cosmos Cloud sẽ hợp lý hơn khi bạn muốn kiểm soát chặt chẽ hơn đối với doma

Nick bạcNick bạc đọc 11 phút

Sẵn sàng triển khai? Từ $2,48/tháng.

Đám mây độc lập, kể từ năm 2008. AMD EPYC, NVMe, 40 Gbps. Hoàn tiền trong 14 ngày.