Ssh

SFTP、SCP 和 FISH 協議有什麼區別?

  • August 3, 2021

我曾經認為SCP是一個通過SSH複製文件的工具,而通過SSH複製文件被稱為SFTP,它本身就是FISH的同義詞。

但是現在當我在 Windows 中尋找一個 Total Commander 外掛來執行此操作時,我注意到它的頁面上顯示“允許通過安全 FTP(通過 SSH 的 FTP)訪問遠端伺服器。需要 SSH2。這不一樣作為SCP!”。

如果不一樣,那我誤解了什麼?

SFTP不是 ssh 上的 FTP 協議,而是 SSH2(和一些 SSH1 實現)中包含的 SSH 協議的擴展。SFTP 是一種類似於 FTP 的文件傳輸協議,但使用 SSH 協議作為網路協議(並且受益於離開 SSH 來處理身份驗證和加密)。

SCP 僅用於傳輸文件,不能執行 SFTP 所做的其他操作,例如列出遠端目錄或刪除文件。

FISH 似乎是另一種可以使用 SSH 或 RSH 傳輸文件的協議。


更新(2021/03/09):根據OpenSSH 8.0/8.0p1(2019-04-17)的發行說明:

scp協議已過時、不靈活且不易修復。我們建議使用更現代的協議,例如 sftp 和 rsync 來進行文件傳輸。

引用自:https://unix.stackexchange.com/questions/3958