Ssh
SFTP、SCP 和 FISH 協議有什麼區別?
我曾經認為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 來進行文件傳輸。