Thứ ba, 21/04/2020 | 00:00 GMT+7

Cách sao chép tệp với Rsync qua SSH


Bước 1 - Cài đặt SSH key công khai

Trên server root của ta , ta sẽ tạo các SSH key công khai không có password :

ssh-keygen -f ~/.ssh/id_rsa -q -P ""
cat ~/.ssh/id_rsa.pub

Đây là SSH key công khai của ta có thể được đặt trên các server khác để cung cấp cho ta quyền truy cập:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDLVDBIpdpfePg/a6h8au1HTKPPrg8wuTrjdh0QFVPpTI4KHctf6/FGg1NOgM++hrDlbrDVStKn/b3Mu65//tuvY5SG9sR4vrINCSQF++a+YRTGU6Sn4ltKpyj3usHERvBndtFXoDxsYKRCtPfgm1BGTBpoSl2A7lrwnmVSg+u11FOa1xSZ393aaBFDSeX8GlJf1SojWYIAbE25Xe3z5L232vZ5acC2PJkvKctzvUttJCP91gbNe5FSwDolE44diYbNYqEtvq2Jt8x45YzgFSVKf6ffnPwnUDwhtvc2f317TKx9l2Eq4aWqXTOMiPFA5ZRM/CF0IJCqeXG6s+qVfRjB root@cloudads

Sao chép khóa này vào clipboard của bạn và đăng nhập vào server đích của bạn.

Đặt SSH key này vào file ~ / .ssh / allow_keys của bạn:

Nếu folder SSH của bạn không tồn tại, hãy tạo nó theo cách thủ công:

mkdir ~/.ssh
chmod 0700 ~/.ssh
touch ~/.ssh/authorized_keys
chmod 0644 ~/.ssh/authorized_keys

Bước 3 - Rsync file qua

Rsync là một tiện ích tuyệt vời, vì nó cho phép bạn, trong số nhiều thứ khác, sao chép các file một cách đệ quy với tính năng nén và qua một kênh được mã hóa.

Ta sẽ sao chép một file từ server root của ta (198.211.117.101) trong /root/bigfile.txt qua server đích của ta (IP: 198.211.117.129) và lưu nó trong /root/bigfile.txt.

Đăng nhập vào 198.211.117.101 và rsync file thành 198.211.117.129:

rsync -avz -e "ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" --progress /root/bigfile.txt 198.211.117.129:/root/

Nếu bạn đang sử dụng một user khác, chẳng hạn như "tên user " thì bạn sẽ phải thêm nó vào trước server đích. Đảm bảo có public key của bạn trong file ~ / .ssh / allow_keys của user đó:

rsync -avz -e "ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" --progress /root/bigfile.txt username@198.211.117.129:/

Các tùy chọn SSH rất hữu ích để giữ cho Rsync yên tĩnh và không phải nhắc nhở mỗi khi bạn kết nối với một server mới.

Xác minh bạn đã nhận được file trên server đích (198.211.117.129):

ls -la /root/bigfile.txt

Và bạn đã hoàn tất!

Bởi Bulat Khamitov

Tags:

Các tin liên quan