Câu trả lời:
Sử dụng scp
-command, nó chạy trên SSH. Thí dụ:
scp username@remote.host:/path/to/file localfile
Nó cũng hoạt động theo cách khác
scp localfile username@host:/path/remotefile
Tên người dùng, đường dẫn và tên tệp có thể được bỏ qua (nhưng không phải là :
!).
Như Iain đã nói, SFTP cũng hoạt động, nhưng tôi có xu hướng ủng hộ việc sử dụng giống như scp
của nó cp
.
-p
tùy chọn khi sao chép tệp hoặc thư mục với scp
. Nó cũng sao chép các thuộc tính tệp (dấu thời gian và cờ). Tôi thấy tôi muốn -p
thường xuyên hơn tôi không muốn nó!
-3
cờ: scp -3 jeff@firsthost.com:/files/file1.zip brad@secondhost.com:/archives
Điều này hữu ích nếu bạn cần sử dụng khóa riêng để truy cập vào cả hai máy chủ chỉ tìm thấy trên localhost: scp -3i /local/path/to/.ssh/private_key dan@host1:/path/to/file.txt miri@host2:/path/to/upload/dir/
Thanh tiến trình bị vô hiệu hóa cho -3
Bạn cũng có thể sử dụng rsync
cho nó. Nó có thể hoạt động trên SSH.
rsync -avvP
là mục ưa thích của tôi đối với các tệp và / hoặc thư mục, nhưng có một nhược điểm: nó cần được cài đặt trên máy từ xa.
-e ssh
để báo cho rsync kết nối qua ssh.
Nếu bạn không thể sử dụng scp
hoặc SFTP, bạn có thể sử dụng tar
qua SSH:
tar cf - . | ssh otherhost "cd /mydir; tar xvf -"
Điều này cũng tốt nếu bạn có các tệp thưa thớt mà nếu không sẽ "nổ".
scp username@remote1:/path/to/file username@remote2:/path/to/file