![[SCP command] Chuyển dữ liệu bằng SCP](https://system.info.vn/wp-content/uploads/2021/08/scp-command-chuyen-du-lieu-bang-scp.jpg)
Nội dung bài viết
[SCP command] Chuyển dữ liệu bằng SCP
SCP command là lệnh dùng để chuyển dữ liệu bằng cách upload các file và thư mục từ máy cá nhân (client) lên server (remote). Hoặc cũng có thể dùng để download file, thư mục từ server (remote) về máy cá nhân (client). Cũng có thể dùng để trao đổi dữ liệu giữa các server với nhau. Vì thế hôm nay mình sẽ cùng các bạn đi tìm hiểu SCP command và cách chuyển dữ liệu bằng SCP command.
1. SCP command là gì?
SCP (Secure Copy) là lệnh do OpenSSH Client cung cấp transfer protocol (giao thức chuyển file trên mạng). Giúp sao chép file trong hệ thống mạng an toàn và dễ dàng. Nó cho phép truyền tải file qua lại giữa máy local (client) và remote (server), nó sử dụng giao thức SSH để truyền file.
– Một số hình thức khi sử dụng SCP command:
+ Copy file,thư mục, từ máy local lên server
+ Copy file,thư mục, từ máy server (remote) về local (client)
+ Copy file,thư mục, từ máy server (remote) này sang máy server (remote) khác.
2. Cú pháp và cách chuyển dữ liệu bằng SCP
2.1 Cú pháp SCP command
scp [options] [username@IP]:/[directory and file name] [destination username@IP]:/[directory]
– Trong đó:
+ options : là tham số bạn có thể thêm vào SCP command
-P : port xác định chính xác cổng vào của server (port mặc định của TCP là 22).
-c : Thuật toán mã hóa bạn muốn dùng.Lựa chọn mặc định trong cấu hình là ‘AnyStdCipher’.
-q : có nghĩa là chỉ có các lỗi nghiêm trong mới hiện lên.
-r : là bao gồm tất cả thư mục con.
-4 hoặc -6 protocol IPv4 hay IPv6.
-p : là “preserve”, dùng để lưu lại thời gian chỉnh sửa và thuộc tính của file.
-u : sẽ xóa file nguồn sau khi chuyển đổi hoàn tất.
-c : giúp nén dữ liệu khi truyền.
+ [username@IP]:/[directory and file name]: là file, thư mục nguồn.
Ví dụ: abc@10.10.10.5:/home/file1.txt trong dó file /home/file1.txt tại máy abc@10.10.10.5 nếu như máy local thì thì chỉ cần đường dẫn /home/file1.txt
+ [destination username@IP]:/[directory]: là đường dẫn file, thư mục đích muốn copy đến.
Ví dụ: xyz@20.20.20.5:/root/restore các file và thư mục sẽ được coppy từ client và được lưu trữ ở đây /root/restore
2.2 Chuyển dữ liệu bằng SCP command
2.2.1 SCP command download
Ví dụ: có một file nằm trên server 10.10.10.5 ở đường dẫn /home/data/abc.txt. Có tài khoản SSH với user là root. Giờ muốn copy file đó về lưu ở máy local với đường dẫn là home/dulieu/abc.txt.
+ Đối với linux:
# scp root@10.10.10.5:/home/data/abc.txt /home/dulieu/abc.txt
+ Đối với windows:
# scp root@10.10.10.5:/home/data/abc.txt C:\home\dulieu\abc.txt
+ Có xác thự SSH key:
# scp -i .ssh\id_rsa root@10.10.10.5:/home/data/abc.txt C:\home\dulieu\abc.txt
Ví dụ: Có một thư mục nằm trên server 10.10.10.5 ở đường dẫn /home/data/. Có tài khoản SSH với user là root. Giờ muốn copy thư mục đó về lưu ở máy local với đường dẫn là /dulieu/data/
+ Đối với linux:
# scp -r root@10.10.10.5:/home/data/ /dulieu/data
+ Đối với Windows:
# scp -r root@10.10.10.5:/home/data/ C:\dulieu\data
+ Có SSH key và đã đổi port SSH mặc định 22 sang port mới là 2244
# scp -i .ssh\id_rsa -r -P 2244 root@10.10.10.5:/home/data/ C:\dulieu\data
2.2.2 SCP command upload
Ví dụ: Upload file từ máy cá nhân có dường dẫn là /home/data/abc.txt lên server 10.10.10.5 có user là root đường dẫn lưu trữ là /root/backup/abc.txt
+ Đối với linux:
# scp /home/data/abc.txt root@10.10.10.5:/root/backup/abc.txt
+ Đối với window:
# scp C:\home\data\abc.txt root@10.10.10.5:/root/backup/abc.txt
Ví dụ: Upload thư mục từ máy cá nhân có dường dẫn là /home/data lên server 10.10.10.5 có user là root đường dẫn lưu trữ là /root/data.
+ Đối với linux
# scp -r /home/data/ root@10.10.10.5:/root/data
+ Đối với windows:
# scp -r C:\home\data\ root@10.10.10.5:/root/data
+ Đã thay đổi port SSH mặc sang port mới là 2244.
# scp -P 2244 -r C:\home\data\ root@10.10.10.5:/root/data
Kiến Thức System chúc các bạn thành công!