Tháng 10
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).

Di chuyển file giữa các hệ thống Linux với SCP

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

Về tác giả: Dũng Phạm Trung

Cách cài đặt là trang cung cấp hướng dẫn cấu hình, cài đặt và sử dụng phần mềm. Nội dung trên website được chúng tôi sưu tầm hoặc tạo ra nhằm giúp mọi người nắm bắt được những kiến thức CNTT một cách đơn giản nhất.

3 lời bình + Thêm lời bình

  • 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?

Với lời bình

CommentLuv badge

Comments links could be nofollow free.

Bài nhiều người đọc

Sử dụng Nginx và memcached để tăng tốc Apache trên Debian Lenny
Comments9
Hướng dẫn cài đặt Nginx, PHP trên CENTOS, REDHAT
Comments6
[Kiến thức cơ bản] 10 cách dùng Nmap hiệu quả
Comments5
Sử dụng Crontab trên Linux
Comments4
Di chuyển file giữa các hệ thống Linux với SCP
Comments3
Cách cài đặt Teamviewer 6 trên Ubuntu 10.10 Maverick Meerkat
Comments3
Di chuyển file giữa các hệ thống Linux với SCP
Comments3
Cấu hình SSHd server dùng Private Key
Comments2
[Kiến thức cơ bản] Dùng lệnh date trên Linux.
Comments2
[Cách cài đặt] Thiết lập hệ thống WebDAV với Apache2 trên OpenSUSE 11.3
Comments2

Bình luận mới nhất

  • Loading...