Làm cách nào để sao chép thư mục từ xa sang Máy chủ cục bộ bằng cách sử dụng scp
?
Tôi sử dụng ssh
để đăng nhập vào máy chủ của mình.
[.__.] Sau đó, tôi muốn sao chép thư mục từ xa foo
sang cục bộ /home/user/Desktop
.
Làm thế nào để đạt được điều này?
scp -r [email protected]:/path/to/foo /home/user/Desktop/
Từ man scp
(Xem hướng dẫn trực tuyến )
-r Sao chép toàn bộ thư mục
Để sử dụng toàn bộ sức mạnh của scp bạn cần trải qua các bước tiếp theo:
Sau đó, ví dụ nếu bạn có cái này ~/.ssh/config :
Host test
User testuser
HostName test-site.com
Port 22022
Host prod
User produser
HostName production-site.com
Port 22022
bạn sẽ tự lưu từ mục nhập mật khẩu và đơn giản hóa scp cú pháp như thế này:
scp -r prod:/path/foo /home/user/Desktop # copy to local
scp -r prod:/path/foo test:/tmp # copy from remote prod to remote test
Hơn nữa, bạn sẽ có thể sử dụng hoàn thành đường dẫn từ xa:
scp test:/var/log/ # press tab twice
Display all 151 possibilities? (y or n)
Cập nhật:
Để cho phép hoàn thành bash từ xa, bạn cần phải có bash-Shell trên cả hai máy chủ <source>
và <target>
và hoạt động hoàn tất bash. Để biết thêm thông tin xem các câu hỏi liên quan:
Làm cách nào để bật tự động hoàn thành cho các đường dẫn từ xa khi sử dụng scp?
[.__.] Hoàn thành tab tên tệp SCP
Để sao chép tất cả từ Vị trí địa phương đến Vị trí từ xa (Tải lên)
scp -r /path/from/destination [email protected]:/path/to/destination
Để sao chép tất cả từ Vị trí từ xa đến Vị trí địa phương (Tải xuống)
scp -r [email protected]:/path/from/destination /path/to/destination
Cổng tùy chỉnh trong đó xxxx
là cổng tùy chỉnh số
scp -r -P xxxx [email protected]:/path/from/destination /path/to/destination
Sao chép vào thư mục hiện tại từ Từ xa đến Địa phương
scp -r [email protected]:/path/from/file .
Cứu giúp:
-r
Sao chép đệ quy tất cả các thư mục và tệp/
, Nhận vị trí đầy đủ bằng pwd
scp
sẽ thay thế tất cả các tệp hiện cóhostname
sẽ là tên máy chủ hoặc địa chỉ IP-P portnumber
Lưu ý: Đôi khi cổng tùy chỉnh sẽ không hoạt động do cổng không được phép trong tường lửa, vì vậy hãy đảm bảo rằng cổng tùy chỉnh được phép trong tường lửa cho kết nối đến và đi
Những gì tôi luôn luôn sử dụng là:
scp -r [email protected]:/path/to/server/source/folder/ .
. (dấu chấm) : có nghĩa là current folder
. vì vậy chỉ sao chép từ máy chủ và dán ở đây.
IP: có thể là một địa chỉ IP như 125.55.41.311
hoặc nó có thể là Host như ns1.mysite.com
.
Tốt hơn để nén danh mục đầu tiên trên máy chủ từ xa:
tar czfP backup.tar.gz /path/to/catalog
Thứ hai, tải xuống từ xa:
scp [email protected]:/path/to/backup.tar.gz .
Cuối cùng, giải nén các tập tin:
tar -xzvf backup.tar.gz
Và nếu bạn có một tệp tải xuống từ địa điểm từ xa và nếu bạn không quan tâm nhiều đến bảo mật, hãy thử thay đổi mã hóa mặc định scp (Triple-DES) thành một cái gì đó như 'blowfish'.
Điều này sẽ giảm thời gian sao chép tập tin quyết liệt.
scp -c blowfish -r [email protected]:/path/to/foo /home/user/Desktop/
Chuyển đến Tệp trên thanh công cụ thống nhất của bạn
Nhấn Ctrl + l và viết vào đâ[email protected]
192.168.1.103 là Máy chủ mà bạn muốn kết nối.
Đây là một ví dụ
Kịch bản điển hình,
scp -r -P port [email protected]:/path-to-folder .
giải thích với một mẫu,
scp -r -P 27000 [email protected]:/tmp/hotel_dump .
ở đâu,
port = 27000
username = "abc" , remote server username
path-to-folder = tmp/hotel_dump
. = current local directory
Trong trường hợp bạn gặp phải "Quá nhiều lỗi xác thực" , hãy chỉ định khóa SSH chính xác mà bạn đã thêm vào máy chủ ssh của bạn:
scp -r -i /path/to/local/key [email protected]:/path/to/folder /your/local/target/dir
Câu hỏi là làm thế nào để sao chép một thư mục từ xa sang cục bộ bằng lệnh scp
.
$ scp -r [email protected]:/path/remoteDir /path/localDir
Nhưng đây là cách tốt hơn để làm điều đó với sftp
- Giao thức truyền tệp SSH (cũng là giao thức truyền tệp an toàn hoặc SFTP) là một giao thức mạng cung cấp quyền truy cập tệp, truyền tệp và quản lý tệp qua bất kỳ luồng dữ liệu đáng tin cậy nào. (Wikipedia) .
$ sftp [email protected]_ip
sftp> cd /path/to/remoteDir
sftp> get -r remoteDir
Fetching /path/to/remoteDir to localDir 100% 398 0.4KB/s 00:00
Để được trợ giúp về lệnh sftp
, chỉ cần nhập help
hoặc ?
.
Tôi không biết tại sao nhưng tôi đã phải sử dụng thư mục cục bộ trước khi chỉ thị máy chủ nguồn. Để làm cho nó hoạt động
scp -r . [email protected]:/usr/share/nginx/www/example.org/