Câu hỏi Sự khác biệt giữa SCP và SFTP là gì?


Thông thường, tôi sử dụng scp lệnh để truyền tệp trên * nixes.

Sự khác biệt giữa SFTP và SCP là gì? Cả hai đều không hoạt động trên SSH?


143
2018-04-26 17:36


gốc




Các câu trả lời:


Tóm lại, SCP chỉ có thể được sử dụng để truyền tệp và nó không tương tác (tức là mọi thứ phải được chỉ định trên dòng lệnh). SFTP là phức tạp hơn, và cho phép các lệnh tương tác để làm những việc như tạo thư mục, xóa thư mục và tập tin (tất cả tùy thuộc vào quyền hệ thống, tất nhiên), vv


89
2018-04-26 18:10



Về tương tác: Sự khác biệt mà bạn mô tả là về các máy khách SFTP / SCP cụ thể như được triển khai trong OpenSSH. Không có gì về chính các giao thức. Hoàn toàn có thể triển khai ứng dụng khách SCP tương tác hoặc ứng dụng khách SFTP không tương tác. - Martin Prikryl
Một điều nữa: scp không hoạt động nếu máy chủ chỉ cho phép truy cập SFTP qua đường truyền ForceCommand internal-sftp. Tôi nghĩ PermitTTY no cũng ngăn chặn truy cập scp nhưng cho phép truy cập sftp, mặc dù tôi có thể chỉ cần nhập sai mật khẩu của mình mỗi lần tôi thử. Nhưng hai điều đó không nên ngăn chặn sftp. Nguồn: trải nghiệm cá nhân. - ecube
Tôi có thể giả định rằng bất kỳ máy chủ SFTP nào cũng có khả năng chấp nhận chuyển khoản SCP không? - gus
@ không, hãy xem bình luận của ecube - Pere


Từ Wikipedia:

So với giao thức SCP trước đó,   chỉ cho phép truyền tệp,   Giao thức SFTP cho phép một loạt   hoạt động trên các tệp từ xa - đó là   giống như hệ thống tệp từ xa   giao thức. Phần bổ sung của ứng dụng khách SFTP   khả năng so với máy khách SCP   bao gồm việc tiếp tục bị gián đoạn   chuyển, danh sách thư mục và   xóa tệp từ xa. [1] Đối với những   lý do nó tương đối đơn giản để   triển khai máy khách SFTP GUI so sánh   với trình khách GUI SCP.

Mặc dù cả SCP và SFTP đều sử dụng   mã hóa SSH giống nhau trong tập tin   chuyển với cùng cấp độ chung   của chi phí, SCP thường là nhiều   nhanh hơn SFTP khi chuyển   tệp, đặc biệt khi có độ trễ cao   mạng. Điều này xảy ra vì SCP   thực hiện chuyển giao hiệu quả hơn   thuật toán, một thuật toán không yêu cầu   chờ xác nhận gói. Điều này   dẫn đến tốc độ nhanh hơn nhưng đến   chi phí không thể gián đoạn   chuyển khoản, vì vậy không giống như SFTP, SCP   không thể hủy chuyển khoản mà không có   kết thúc phiên.


97
2018-04-26 19:36



"SCP thường nhanh hơn SFTP nhiều lần khi truyền tệp." - Micah Bolen
"Nhưng đến với chi phí không thể làm gián đoạn chuyển khoản". Đó là một sự cân bằng khá quan trọng. - aaaaaa


Từ quan điểm dòng lệnh thuần túy:

  • scp không có một chế độ tương tác và cũng không thể đọc các kịch bản lệnh, điều đó có nghĩa là mọi thứ phải được viết trên dòng lệnh.
  • sftp có một chế độ tương tác và có thể đọc các lệnh từ một tệp.

Sự khác biệt quan trọng khác giữa 2 lệnh là sftp không thể đặt một tệp cục bộ vào một vị trí từ xa bằng một dòng lệnh duy nhất


6
2018-01-20 11:04





SSH (Ssinh thái SHell) là giao thức mạng mã hóa để cho phép đăng nhập từ xa và các dịch vụ mạng khác hoạt động an toàn trên mạng không an toàn.

Sự khác biệt: SFTP hoạt động trên chế độ tương tác (phiên) và SCP hoạt động trên không tương tác. Sử dụng SFTP, chúng tôi có thể truy cập hệ thống tệp từ xa tức là tạo, xóa và liệt kê tệp.

Điểm tương đồng: Cả SCP (Ssinh thái Cmập mờ Protocol) và SFTP (SSH File Transfer Protocol) là các giao thức mạng, hỗ trợ quản lý tệp giữa các máy chủ trên mạng. Cả hai đều sử dụng SSH.

hơn


1
2018-05-25 03:52





Hầu hết các khác biệt của hai giao thức đã được nói trong các câu trả lời khác, và rõ ràng hơn trong https://unix.stackexchange.com/q/8707/19088

Một sự khác biệt, theo tài liệu hướng dẫn của curl, là giao thức SCP không phải là rất di động và thường chỉ hoạt động giữa các hệ thống Unix.

Nhân tiện, curl thực hiện cả hai giao thức và không giống như thực hiện ứng dụng khách OpenSSH SFTP mặc định, nó là không tương tác cho cả SFTP và SCP.

Và lưu ý rằng đó cũng là  giao thức, cho phép bạn chuyển các tập tin qua SSH mà không cần SCP hoặc SFTP. Theo như tôi biết CÁ không phải là rất phổ biến, hiện đang thực hiện chỉ trong một vài người quản lý tập tin (Midnight Commander và một số dựa trên KDE) và Lftp.


0
2017-08-13 19:46



"Một sự khác biệt, theo tài liệu hướng dẫn của curl, là giao thức SCP không phải là rất di động và thường chỉ hoạt động giữa các hệ thống Unix." Sự trớ trêu của phần này trong câu trả lời của bạn là GUI SCP phổ biến nhất được gọi là WinSCP, và - bạn đã đoán nó - nó là một Chương trình Windows. - brett
@brett khách hàng phổ biến nhất có lẽ là OpenSSH's scp, tôi sẽ nói nó được triển khai rất cao. WinSCP là một SCP / SFTP / etc client nhưng hiện nay chủ yếu được sử dụng như một (S) FTP client: "Vào tháng 6 năm 2003 phiên bản 3.0 đã được phát hành, giới thiệu hỗ trợ cho các thay thế cho SCP, giao thức SFTP. Mặc dù vậy, tên "WinSCP" được thiết lập tốt vẫn được bảo tồn. " (từ Lịch sử của WinSCP: winscp.net/eng/docs/project_history) - Pere