SCP (secure copy) là một lệnh (command-line) dùng để chuyển file giữa hai server một cách nhanh chóng và an toàn. Bằng cách sử dụng SCP kết hợp với SSH, bạn có thể sao chép và di chuyển các tệp tin và thư mục giữa các máy chủ Linux/Ubuntu. SCP sử dụng mã hóa và xác thực SSH để đảm bảo tính bảo mật trong việc truyền file. Đây là một phương pháp đáng tin cậy để chia sẻ và chuyển file giữa hai vị trí máy chủ.
Cách sử dụng SCP trong Linux/Ubuntu để chuyển file giữa hai server
Như ItsmeIT đã đề cập trước đó, bạn có thể sao chép (transfer) bất kể dữ liệu, file hoặc thư mục từ localhost đến server (VPS) hoặc từ server này sang server khác.

Trong hướng dẫn này mình sẽ cung cấp 3 trường hợp sử dụng SSH kết hợp với SCP là sử dụng SSH port mặc định 21/22, hoặc port riêng và server có sử dụng public_key.
Cách 1: Sao chép File từ Localhost đến server qua SSH
Ví dụ, nếu bạn muốn chuyển file “file.txt” từ localhost đến server thông qua port mặc định 21/22 và không sử dụng public key:
scp file.txt user@<địa_chỉ_IP_B>:<đường_dẫn_file_đích>
Trong đó:
- file.txt là file hoặc thư mục bạn cần chuyển đến máy chủ B.
- <đường_dẫn_file_đích> là đường dẫn trên máy chủ B để nhận file/dữ liệu từ A.
Cách 2: Lệnh SCP chuyển dữ liệu đến Server sử dụng SSH key
Nếu máy chủ của bạn sử dụng SSH key bạn có thể sử dụng tùy chọn -i
để chỉ định đường dẫn tới private key của bạn trong câu lệnh SCP để chuyển file giữa hai server Linux hoặc từ loalhost đến server.
scp -i <đường_dẫn_private_key> <đường_dẫn_file_nguồn> <tên_người_dùng>@<địa chỉ_IP_của_server>:<đường_dẫn_file_đích>
Trong đó:
- <đường_dẫn_private_key>: là đường dẫn đến SSH key của bạn
- <đường_dẫn_file_nguồn>: Là đường dẫn đến file cần chuyển/gửi đến server
- <đường_dẫn_file_đích>: Là đường dẫn chính xác của máy chủ nhận dữ liệu

Trong ảnh chụp màn hình bên trên, ItsmeIT đã chuyển thành công file zip từ Ubuntu (localhost) đến Server thông qua SCP.
Cách 3: Sử dụng SCP chuyển FILE đến Server với SSH key + port riêng
Nếu server của bạn sử dụng một port riêng để kết nối SSH thay vì port mặc định (port 22), bạn có thể sử dụng tùy chọn -P
để chỉ định port cho câu lệnh SCP. Dưới đây là cú pháp câu lệnh để chuyển file giữa hai server hoặc máy tính đến máy chủ:
scp -P <số_port> -i <đường_dẫn_private_key> <đường_dẫn_file_nguồn> <tên_người_dùng>@<địa chỉ_IP_của_server>:<đường_dẫn_file_đích>

Cách 4: Chuyển thư mục đến Server Ubuntu/Linux qua SCP
Trong những phương pháp trước đó bạn đã có thể chuyển hoặc copy File từ server sang server hoặc từ localhost đến server. Còn nếu muốn chuyển thư mục đến server thì sao? dưới đây là câu lệnh để bạn thực hiện.
scp -r <đường_dẫn_thư_mục_nguồn> <tên_người_dùng>@<địa chỉ_IP_của_server>:<đường_dẫn_thư_mục_đích>
Nếu server của bạn sử dụng SSH key để xác thực và cũng sử dụng một port riêng, bạn có thể kết hợp các tùy chọn -i
và -P
để chỉ định private key và port cho câu lệnh SCP. Dưới đây là cú pháp câu lệnh để có thể chuyển thư mục đến Server Linux:
scp -P <số_port> -i <đường_dẫn_private_key> -r <đường_dẫn_thư_mục_nguồn> <tên_người_dùng>@<địa chỉ_IP_của_server>:<đường_dẫn_thư_mục_đích>
Trong đó -P port mặc định là 22, hãy thay đổi port mà server của bạn đang sử dụng.

SCP (Secure Copy) cung cấp những phương pháp hiệu quả để bạn tiết kiệm thời gian trong việc gửi dữ liệu từ máy tính đến server và chuyển file, thư mục giữa các server. Bằng cách kết hợp với giao thức SSH (Secure Shell), SCP cho phép bạn thực hiện các tác vụ sao chép an toàn và bảo mật, đồng thời bảo vệ dữ liệu của bạn một cách tốt nhất.
Nó không chỉ đảm bảo tốc độ truyền dữ liệu nhanh chóng, mà còn cho phép sao chép toàn bộ cấu trúc thư mục, bao gồm các thư mục con và tệp tin bên trong, một cách dễ dàng và thuận tiện. Điều này giúp bạn quản lý dữ liệu và chia sẻ thông tin giữa các máy chủ một cách hiệu quả và đáng tin cậy, tiết kiệm thời gian và công sức trong công việc mạng.
– Advertising –