Cách tải xuống tệp từ máy chủ bằng SSH / SCP
Người dùng có thể tải xuống tệp một cách an toàn từ bất kỳ máy chủ từ xa nào bằng SSH bằng cách sử dụng công cụ scp tại dòng lệnh. Về cơ bản, điều này có nghĩa là bạn có thể có một tệp được lưu trữ an toàn trên máy chủ từ xa và chuyển tệp đó sang bộ nhớ cục bộ mà không cần phải hiển thị tệp đó ra thế giới bên ngoài, vì scp cung cấp cùng mức độ bảo mật và yêu cầu xác thực giống như ssh.
Tải xuống tệp an toàn bằng scp chủ yếu hướng đến người dùng nâng cao đang sử dụng ssh và dòng lệnh thường xuyên trong macOS X, bsd hoặc linux. Đối với những người có đủ kinh nghiệm về dòng lệnh, việc sử dụng ssh và scp để tải xuống các tệp từ xa rất dễ dàng và thuận tiện, sau khi quá trình truyền tệp hoàn tất, kết nối từ xa sẽ kết thúc. Điều này khiến scp được ưu tiên hơn sftp để tải xuống tệp nhanh chóng, mặc dù rõ ràng bạn cũng có thể sử dụng sftp nếu muốn.
Tải xuống tệp từ máy chủ từ xa bằng bản sao bảo mật SSH
Điều này giả định rằng máy chủ từ xa đã kích hoạt ssh và nếu bạn có thể ssh vào máy thì có khả năng nó cũng đã kích hoạt scp. Nếu không có máy chủ từ xa để dùng thử, bạn có thể dùng thử giữa các máy Mac OS X hoặc với máy chủ cục bộ nếu trước đó bạn bật ssh và Đăng nhập từ xa trên máy Mac.
Cú pháp cơ bản để sử dụng scp (bản sao an toàn) để tải xuống các tệp từ xa một cách an toàn như sau, thay thế người dùng, máy chủ, đường dẫn và đích khi thích hợp:
scp user@server:/path/to/remotefile.zip /Local/Target/Destination
Ví dụ: để tải tệp xuống máy tính để bàn cục bộ có tên “filename.zip” nằm trong thư mục chính của người dùng từ xa “osxdaily” trên máy chủ IP 192.168.0.45, cú pháp sẽ như sau:
% scp [email protected]:filename.zip ~/Desktop/ Mật khẩu: filename.zip 100% 126 10.1KB/s 00:00 %
Giả sử xác thực là chính xác, tệp mục tiêu sẽ ngay lập tức bắt đầu tải xuống đích đích, cung cấp phần trăm hoàn thành, tốc độ tải xuống và thời gian truyền đã trôi qua khi quá trình tải xuống tệp diễn ra.
Như thường lệ với dòng lệnh, điều quan trọng là phải chỉ định cú pháp chính xác.
Nếu tệp hoặc đường dẫn có khoảng trắng trong tên, bạn có thể sử dụng dấu ngoặc kép hoặc thoát trên đường dẫn như sau:
"scp [email protected]:/some remote directory/filename.zip>"
scp cũng có thể được sử dụng để đặt tệp an toàn trên máy chủ từ xa bằng cách điều chỉnh cú pháp, nhưng chúng tôi đang tập trung vào việc tải xuống tệp thay vì tải tệp lên tại đây.
Nếu bạn là người mới sử dụng ssh và đang tự mình thử nghiệm điều này và nếu bạn chưa bao giờ kết nối với máy chủ từ xa trước đây, bạn sẽ được yêu cầu xác nhận xem bạn có thực sự muốn kết nối với điều khiển từ xa hay không cỗ máy. Điều này trông giống như vậy và yêu cầu câu trả lời 'có' hoặc 'không' trước khi quá trình tải xuống bắt đầu. % scp [email protected]:filename.zip ~/Desktop/ Không thể thiết lập tính xác thực của máy chủ '192.168.0.4 (192.168.0.4)'. Dấu vân tay khóa ECDSA là SHA256:31WalRuSLR83HALK83AKJSAkj972JJA878NJHAH3780. Bạn có chắc chắn muốn tiếp tục kết nối (có/không)? yes Cảnh báo: Đã thêm vĩnh viễn '192.168.0.4' (ECDSA) vào danh sách các máy chủ đã biết. Mật khẩu: filename.zip 100% 126 0,1KB/s 00:00 %
Một lần nữa, giả sử kết nối được phê duyệt và đăng nhập thành công, tệp từ xa sẽ tải xuống từ máy chủ mục tiêu tới máy chủ cục bộ.
Bạn cũng có thể sử dụng scp để tải xuống nhiều tệp từ máy chủ từ xa:
scp user@host:/remote/path/\{file1.zip, file2.zip\} /Local/Path/
Sử dụng ssh để tải xuống tệp từ xa như thế này là thích hợp nhất để truyền an toàn yêu cầu xác thực. Chắc chắn bạn cũng có thể tải xuống các tệp bằng curl hoặc wget từ các máy chủ từ xa, nhưng các tệp có thể truy cập bằng curl và wget cũng có xu hướng có thể truy cập được từ thế giới bên ngoài, trong khi ssh và scp yêu cầu xác thực hoặc khóa và sử dụng mã hóa 3DES, làm cho nó trở nên đáng kể an toàn hơn.