題 SCP和SFTP有什麼區別?


通常,我使用 scp 命令在* nixes上傳輸文件。

SFTP和SCP有什麼區別?他們都不是在SSH上工作嗎?


145
2018-04-26 17:36


起源




答案:


簡而言之,SCP只能用於傳輸文件,而且它是非交互式的(即必須在命令行中指定所有內容)。 SFTP更精細,並允許交互式命令執行諸如創建目錄,刪除目錄和文件(當然所有都受系統權限限制)等操作。


90
2018-04-26 18:10



關於交互性:您描述的差異是關於在OpenSSH中實現的特定SFTP / SCP客戶端。這與協議本身無關。完全可以實現交互式SCP客戶端或非交互式SFTP客戶端。 - Martin Prikryl
還有一件事:如果服務器僅允許通過線路進行SFTP訪問,則scp不起作用 ForceCommand internal-sftp。我認為 PermitTTY no 也可以阻止scp訪問,但允許sftp訪問,雖然我每次嘗試時都可能輸錯了密碼。但這兩件事不應該阻止sftp。資料來源:個人經歷。 - ecube
我可以假設任何SFTP服務器也能夠接受SCP傳輸嗎? - gus
@gus不,請參閱ecube的評論 - Pere


維基百科

與之前的SCP協議相比,   它只允許文件傳輸   SFTP協議允許一系列   對遠程文件的操作 - 它是   更像是一個遠程文件系統   協議。 SFTP客戶端的額外費用   與SCP客戶端相比的功能   包括恢復中斷   轉移,目錄列表和   遠程文件刪除。 [1]對於這些   這個原因比較簡單   實現GUI SFTP客戶端的比較   使用GUI SCP客戶端。

雖然SCP和SFTP都使用了   文件期間的SSH加密相同   以相同的一般水平轉移   開銷,SCP通常很多   在轉移時比SFTP更快   文件,尤其是高延遲   網絡。這是因為SCP   實現更有效的轉移   算法,一個不需要的算法   等待數據包確認。這個   導致更快的速度,但來到   不能打斷的費用   轉移,與SFTP不同,SCP   沒有轉移不能取消   終止會話。


98
2018-04-26 19:36



“在傳輸文件時,SCP通常比SFTP快得多。” - Micah Bolen
“但這是以不能中斷轉移為代價的”。這是一個非常重要的權衡。 - aaaaaa


從純粹的命令行角度來看:

  • SCP 沒有交互模式也無法讀取命令腳本,這意味著必須在命令行上寫入所有內容。
  • SFTP 具有交互模式,可以從文件中讀取命令。

兩個命令之間的其他重要區別是 SFTP 無法使用單個命令行將本地文件放入遠程位置


6
2018-01-20 11:04





SSH (小號ecure SH())是一種加密網絡協議,允許遠程登錄和其他網絡服務在不安全的網絡上安全地運行。

區別: SFTP適用於交互模式(會話),SCP適用於非交互模式。使用SFTP,我們可以訪問遠程文件系統,即創建,刪除和列出文件。

相似點: 兩個SCP(小號ecure COPY Protocol)和 SFTP (小號SH FILE Ť轉讓(BOT) Protocol)是網絡協議,支持網絡上主機之間的文件管理。兩者都使用SSH。

更多


1
2018-05-25 03:52





兩種協議的大多數差異已經在其他答案中說過,而且更加詳細 https://unix.stackexchange.com/q/8707/19088

根據另一個不同之處 捲曲的文件是SCP協議不是非常便攜,通常只能在Unix系統之間工作。

順便說說, 捲曲 實現這兩種協議,與默認的OpenSSH SFTP客戶端實現不同,它是 非交互式 對於SFTP和SCP。

並註意到還有  協議,允許您通過SSH傳輸文件,而無需SCP或SFTP。據我所知,FISH不是很受歡迎,目前只在少數文件管理器中實現(午夜指揮官 和一些基於KDE的)和 LFTP


0
2017-08-13 19:46



“根據curl的文檔,另一個區別是SCP協議不是非常便攜,通常只能在Unix系統之間運行。”這部分答案的諷刺之處在於,最受歡迎的SCP GUI被稱為WinSCP,並且 - 您已經猜到了 - 它是一個Windows程序。 - brett
@brett最受歡迎的客戶端可能是OpenSSH的scp,我會說它是高度部署的。 WinSCP是一個SCP / SFTP / etc客戶端,但現在主要用作(S)FTP客戶端:“2003年6月發布3.0版本,引入了對SCP替代方案的支持,即SFTP協議。隨著時間的推移,它從替代方案發展而來儘管如此,仍然保留了名為“WinSCP”的名稱。“ (來自WinSCP的歷史:winscp.net/eng/docs/project_history) - Pere