24
2011
Di chuyển file giữa các hệ thống Linux với SCP
Hôm nay chúng tôi sẽ hướng dẫn các bạn cách di chuyển tập tin giữa các máy chủ Linux bằng cách sử dụng lệnh scp (secure copy).
scp là lệnh dùng để sao chép tập tin giữa các host trên mạng. Nó sử dụng ssh để truyền dữ liệu, cung cấp bảo mật tương tự ssh.
Để minh họa cho bài viết này, chúng tôi sẽ tiến hành di chuyển các file từ ổ đĩa cứng của mình tới một máy ảo đang chạy trên VirtualBox. Trên cả hai hệ thống đều cài đặt Linux Mint 11.
Một số lưu ý
Bằng cách sử dụng scp bạn không chỉ có thể di chuyển các file tới máy ảo như trong hướng dẫn này, mà bạn còn có thể di chuyển chúng tới bất kỳ máy chủ nào trên thế giới. Điều quan trọng là bạn phải biết địa chỉ IP của máy server đó và mật khẩu truy cập cần thiết.
Cấu hình hệ thống máy ảo
Để có thể gửi các tập tin tới máy ảo, trước tiên bạn cần một số cấu hình cụ thể cho nó. Mở VirtualBox, chọn máy ảo cần thiết và mở Settings > Network. Chọn tab Adapter > Bridged Adapter từ Attached to: của menu xổ xuống. Sau đó chạy máy ảo của bạn. Khi máy ảo đã hoạt động, mở terminal và nhập vào lệnh sau:
sudo apt-get install openssh-server
ifconfig
ifconfig sẽ hiển thị một khối block, có tiêu đề ech0:
ctest@ctest-System-Product-Name ~ $ ifconfig eth0 Link encap:Ethernet HWaddr f4:6d:04:94:8f:17 inet addr:192.168.0.11 Bcast:192.168.0.255 Mask:255.255.255.0 inet6 addr: fe80::f66d:4ff:fe94:8f17/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:234392 errors:0 dropped:0 overruns:0 frame:0 TX packets:128835 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:332109021 (332.1 MB) TX bytes:11758082 (11.7 MB) Interrupt:43 Base address:0x6000 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:39 errors:0 dropped:0 overruns:0 frame:0 TX packets:39 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:2424 (2.4 KB) TX bytes:2424 (2.4 KB) ctest@ctest-System-Product-Name ~ $
Địa chỉ IP hiển thị tại dòng inet addr: là một trong những máy ảo thuộc hệ thống mạng của bạn. Từ IP này bạn có thể truy cập vào chúng. Trở lại với hệ thống người gửi sau khi đã xác định được địa chỉ IP người nhận, nếu bạn đã sẵn sàng các tệp tin để gửi và thư mục để lưu trữ ở hai hệ thống, hãy bắt đầu quá trình bằng lệnh dưới đây (thay thế các mục trong dấu ngoặc vuông [] với dữ liệu thực tế).
scp [path of file to send] root@[receiver's IP]:[target directory]
Ví dụ chúng tôi muốn gửi file FunnyVideo.mp4 trong thư mục /home/ctest/Videos tới thư mục /home/virtualguy/Videos của hệ thống có địa chỉ IP 192.168.0.11, chạy lệnh như sau:
scp /home/ctest/Videos/FunnyVideo.mp4 root@192.168.0.11:/home/virtualguy/Videos
Sau đó có thể bạn sẽ nhận được thông báo như sau:
ctest@ctest-System-Product-Name ~ $ scp /home/ctest/Videos/FunnyVideo.mp4 root@192.168.0.11:/home/virtualguy/Videos @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! Someone could be eavesdropping on you right now (man-in-the-middle attack)! It is also possible that a host key has just been changed. The fingerprint for the ECDSA key sent by the remote host is 4e:c0:50:9a:cf:b6:bc:45:ed:9b:54:97:d8:11:21:a8. Please contact your system administrator. Add correct host key in /home/ctest/.ssh/known_hosts to get rid of this message. Offending ECDSA key in /home/ctest/.ssh/known_hosts:4 remove with: ssh-keygen -f "/home/ctest/.ssh/known_hosts" -R 192.168.0.11 ECDSA host key for 192.168.0.11 has changed and you have requested strict checking. Host key verification failed. lost connection ctest@ctest-System-Product-Name ~ $
Trong nhiều trường hợp địa chỉ IP bị trùng sẽ gây ra lỗi này. Để giải quyết, bạn chạy lệnh sau để loại bỏ các key vi phạm.
ssh-keygen -f “/home/ctest/.ssh/known_hosts” -R 192.168.0.11
Chú ý thay thế đường dẫn và địa chỉ IP phù hợp với trường hợp của mình. Bạn cũng có thể loại bỏ các key này bằng cách mở tập tin known_hosts (ở quyền root) với một trình soạn thảo văn bản và loại bỏ key vi phạm.
Nếu không có vấn đề nào xuất hiện, bạn sẽ được hỏi có muốn tiếp tục quá trình, chọn yes và nhấn Enter để xác nhận. Khi được yêu cầu nhập vào mật khẩu root, nhập và nhấn Enter lần nữa. Sau đó các tập tin sẽ được sao chép và truy cập trên thư mục người nhận. Mặc định bạn không có quyền để ghi hoặc thực thi nó, tuy nhiên nếu muốn bạn có thể sử dụng lệnh dưới đây để có toàn quyền:
sudo chmod 777 /home/virtualguy/Videos/FunnyVideo.mp4
Lưu ý thay thế giá trị tại đường dẫn sao cho phù hợp với tập tin của mình.
| Đ.Hải (Nguồn HowtoForge ) |
Các bài hay khác
3 lời bình + Thêm lời bình
Với lời bình
Bài nhiều người đọc
Sử dụng Nginx và memcached để tăng tốc Apache trên Debian Lenny
8 |
Hướng dẫn cài đặt Nginx, PHP trên CENTOS, REDHAT
6 |
[Kiến thức cơ bản] 10 cách dùng Nmap hiệu quả
5 |
Sử dụng Crontab trên Linux
4 |
Di chuyển file giữa các hệ thống Linux với SCP
3 |
Cách cài đặt Teamviewer 6 trên Ubuntu 10.10 Maverick Meerkat
3 |
Di chuyển file giữa các hệ thống Linux với SCP
3 |
Cấu hình SSHd server dùng Private Key
2 |
[Kiến thức cơ bản] Dùng lệnh date trên Linux.
2 |
[Cách cài đặt] Thiết lập hệ thống WebDAV với Apache2 trên OpenSUSE 11.3
2 |
Bình luận mới nhất
- Loading...

Viết bởi







Thanks bạn, mình gần như đã lướt dọc lướt ngang hết các bài viết trên site của bạn, website rất hữu ích, cám ơn bạn đã chia sẻ.
thanks nhìu,rất hữu ích có thể cho mình mail của bạn Phan Trung Dũng để hỏi thêm vài vấn đề được không?
ĐỊa chỉ email của tôi là: phamtrungdung@gmail.com