tra-loi-cau-hoi-phat-trien-web.com

Cách sao chép tệp từ máy này sang máy khác bằng ssh

Tôi đang sử dụng máy Linux (centos), tôi đã kết nối với hệ thống khác bằng cách sử dụng ssh. Bây giờ câu hỏi của tôi là làm thế nào tôi có thể sao chép các tập tin từ một hệ thống sang hệ thống khác?

Giả sử, trong môi trường của tôi, tôi có hai hệ thống như System ASystem B. Tôi đang sử dụng System A máy và một số người khác sử dụng System B máy móc.

Làm cách nào tôi có thể sao chép tệp từ System B đến System A? Và, sao chép một tập tin từ System A đến System B?

767
user3021349

Cú pháp:

scp <source> <destination>

Để sao chép tệp từ B sang A trong khi đăng nhập vào B:

scp /path/to/file [email protected]:/path/to/destination

Để sao chép tệp từ B sang A trong khi đăng nhập vào A:

scp [email protected]:/path/to/file /path/to/destination
1107
DopeGhoti

Trong trường hợp nếu bạn cần một cách tiếp cận thay thế.

Cài đặt sshfs. nếu bạn sử dụng Ubuntu/debian:

Sudo apt-get install sshfs

hoặc, nếu bạn sử dụng centos/rhel:

Sudo yum install Fuse-sshfs

hoặc, trong macOS

brew install sshfs

Tạo một thư mục trống

mkdir /home/user/testdir

"liên kết" hoặc "gắn kết" hai thư mục

sshfs [email protected]:/remote/dir /home/user/testdir

"hủy liên kết" các thư mục

fusermount -u /home/user/testdir

Trên BSD và macOS, để ngắt kết nối hệ thống tệp:

umount mountpoint

hoặc là

diskutil unmount mountpoint

Để biết thêm xem tại đây, linuxjournal.comlibfuse/sshfs

120
Ruban Savvy

Đôi khi bạn cần phải ưa thích với tar:

tar -C / -cf - \
  opt/widget etc/widget etc/cron.d/widget etc/init.d/widget \
  --exclude=opt/widget/local.conf | 
  ssh otherhost tar -C / -xvf -
50
Dan Garthwaite

Nếu bạn muốn giữ các tệp trên cả hai hệ thống đồng bộ thì hãy xem chương trình rsync:

(xem hướng dẫn tại đây)

23
Kiffin