Sự khác biệt giữa FTPS và SFTP là gì?

Khi bạn đang trong quá trình thiết lập khả năng truyền tệp từ xa cho nhân viên của mình, bạn muốn mọi thứ trở nên đơn giản và an toàn nhất có thể. Với suy nghĩ đó, cái nào tốt hơn, FTPS hay SFTP? Bài đăng Hỏi và Đáp của SuperUser hôm nay có câu trả lời cho câu hỏi của một độc giả tò mò.

Phiên Hỏi & Đáp hôm nay đến với chúng tôi với sự hỗ trợ của SuperUser — một phần của Stack Exchange, một nhóm các trang web Hỏi & Đáp do cộng đồng điều hành.

Ảnh chụp màn hình do kojihachisu (Flickr) cung cấp.

Câu hỏi

Người dùng trình đọc SuperUser334875 muốn biết sự khác biệt giữa FTPS và SFTP và cái nào tốt hơn:

Tôi đang cố gắng thiết lập một hệ thống cho bốn nhân viên của mình, những người làm việc từ xa để họ có thể chuyển tệp. Tôi cũng cần nó để được bảo mật. SFTP có tốt hơn FTPS không? Sự khác biệt giữa hai là gì?

Sự khác biệt giữa hai là gì và cái nào tốt hơn?

Câu trả lời

Cộng tác viên SuperUser NuTTyX và Vdub có câu trả lời cho chúng tôi. Đầu tiên, NuTTyX:

Chúng là hai giao thức hoàn toàn khác nhau.

FTPS là FTP với SSL để bảo mật. Nó sử dụng một kênh điều khiển và mở ra các kết nối mới để truyền dữ liệu. Vì nó sử dụng SSL, nó yêu cầu một chứng chỉ.

SFTP (SSH File Transfer Protocol / Secure File Transfer Protocol) được thiết kế như một phần mở rộng của SSH để cung cấp khả năng truyền tệp, vì vậy nó thường chỉ sử dụng cổng SSH cho cả dữ liệu và điều khiển.

Trong hầu hết các cài đặt máy chủ SSH, bạn sẽ có hỗ trợ SFTP, nhưng FTPS sẽ cần cấu hình bổ sung của máy chủ FTP được hỗ trợ.

Tiếp theo là câu trả lời từ Vdub:

FTPS (FTP / SSL) là tên được sử dụng để cung cấp một số cách mà phần mềm FTP có thể thực hiện truyền tệp an toàn. Mỗi cách đều liên quan đến việc sử dụng lớp SSL / TLS bên dưới giao thức FTP tiêu chuẩn để mã hóa kênh điều khiển và / hoặc kênh dữ liệu.

Ưu điểm:

  • Được nhiều người biết đến và sử dụng
  • Giao tiếp có thể được đọc và hiểu bởi một con người
  • Cung cấp dịch vụ truyền tệp từ máy chủ đến máy chủ
  • SSL / TLS có cơ chế xác thực tốt (các tính năng của chứng chỉ X.509)
  • Hỗ trợ FTP và SSL / TLS được tích hợp vào nhiều khuôn khổ truyền thông internet

Nhược điểm:

  • Không có định dạng danh sách thư mục thống nhất
  • Yêu cầu kênh DATA thứ cấp, điều này khiến khó sử dụng sau tường lửa
  • Không xác định tiêu chuẩn cho bộ ký tự tên tệp (mã hóa)
  • Không phải tất cả các máy chủ FTP đều hỗ trợ SSL / TLS
  • Không có cách chuẩn để lấy và thay đổi các thuộc tính tệp hoặc thư mục

SFTP (SSH File Transfer Protocol) là một giao thức mạng cung cấp chức năng thao tác và truyền tệp qua bất kỳ luồng dữ liệu đáng tin cậy nào. Nó thường được sử dụng với giao thức SSH-2 (cổng TCP 22) để cung cấp khả năng truyền tệp an toàn, nhưng cũng được sử dụng với các giao thức khác.

Ưu điểm:

  • Có nền tảng tiêu chuẩn tốt xác định rõ ràng hầu hết (nếu không phải tất cả) các khía cạnh hoạt động
  • Chỉ có một kết nối (không cần kết nối DATA)
  • Kết nối luôn được bảo mật
  • Danh sách thư mục là thống nhất và máy có thể đọc được
  • Giao thức bao gồm các hoạt động cho phép và thao tác thuộc tính, khóa tệp và nhiều chức năng khác

Nhược điểm:

  • Giao tiếp là nhị phân và không thể được ghi lại "nguyên trạng" để con người đọc
  • Khóa SSH khó quản lý và xác thực hơn
  • Các tiêu chuẩn xác định những thứ nhất định là tùy chọn hoặc được khuyến nghị, điều này dẫn đến một số vấn đề tương thích nhất định giữa các tiêu đề phần mềm khác nhau từ các nhà cung cấp khác nhau.
  • Không có thao tác sao chép từ máy chủ đến máy chủ và thao tác xóa thư mục đệ quy
  • Không hỗ trợ SSH / SFTP tích hợp trong các khuôn khổ VCL và .NET

Có điều gì đó để thêm vào lời giải thích? Tắt âm thanh trong các ý kiến. Bạn muốn đọc thêm câu trả lời từ những người dùng Stack Exchange am hiểu công nghệ khác? Kiểm tra toàn bộ chủ đề thảo luận ở đây.