FTP與SFTP兩者有什麼區別

2022-06-22 15:27:14 字數 1651 閱讀 8839

在實際專案開發中最常使用的檔案傳輸的方式有ftp和sftp兩種,但是這兩個傳輸方式各有什麼特點呢?本文接下來將討論sftp、ftp的區別。

一、ftp協議

ftp是tcp/ip協議組中的協議之一,tp協議由兩個部分組成:

ftp伺服器(用來儲存檔案)

ftp客戶端(使用者可以使用ftp客戶端通過ftp協議訪問位於ftp伺服器上的資源)

預設情況下ftp協議使用tcp埠中的20和21這兩個埠。21埠用於傳輸控制資訊,而是否使用20作為傳輸資料的埠與ftp使用的傳輸模式有關,如果採用被動模式則具體使用哪個埠要伺服器端和客戶端協商決定。ftp傳輸模式分為以下兩種:

主動模式(port)

被動模式(passive)

1. 主動模式

ftp客戶端首先和ftp伺服器的tcp21埠建立連線,通過這個通道傳送命令,客戶端需要接收資料的時候在這個通道上傳送port命令。 port命令包含了客戶端用什麼埠接收資料。在傳送資料的時候,伺服器端通過自己的tcp 20埠連線至客戶端的指定埠傳送資料。

2. 被動模式

在建立控制通道與主動模式相似,但建立連線後是pasv命令。ftp伺服器收到pasv命令後便隨機開啟乙個高階埠(埠號大於1024)並且通知客戶端在這個埠上傳送資料的請求,客戶端連線ftp伺服器此埠,通過三次握手建立通道,然後ftp伺服器將通過這個埠進行資料的傳送。

注意:很多防火牆在設定的時候都是不允許接受外部發起的連線的,所以許多位於防火牆後或內網的ftp伺服器不支援pasv模式,因為客戶端無法穿過防火牆開啟ftp伺服器的高階埠;而許多內網的客戶端不能用port模式登陸ftp伺服器,因為從伺服器的tcp 20無法和內部網路的客戶端建立乙個新的連線,造成無法工作。

二、sftp協議

sftp是ssh file transfer protocol的縮寫,安全檔案傳送協議。sftp與ftp有著幾乎一樣的語法和功能。sftp為ssh的其中一部分,是一種傳輸檔案至 blogger 伺服器的安全方式。其實在ssh軟體包中,已經包含了乙個叫作sftp的安全檔案資訊傳輸子系統,sftp本身沒有單獨的守護程序,它必須使用sshd守護程序(埠號預設是22)來完成相應的連線和答覆操作,所以從某種意義上來說,sftp並不像乙個伺服器程式,而更像是乙個客戶端程式。

三、兩者的主要區別

ftp與sftp兩者有什麼區別

鏈結方式:ftp使用tcp埠21上的控制連線建立連線。而,sftp是在客戶端和伺服器之間通過ssh協議(tcp埠22)建立的安全連線來傳輸檔案。

安全性:sftp使用加密傳輸認證資訊和傳輸的資料,所以使用sftp相對於ftp是非常安全。

效率:sftp這種傳輸方式使用了加密解密技術,所以傳輸效率比普通的ftp要低得多。

用法:連線遠端伺服器:

sftp username@ip
回車之後輸入伺服器密碼即可連線成功。

將檔案上傳到伺服器上:

put [本地檔案的位址] [伺服器上檔案儲存的位置]

get [伺服器上檔案儲存的位置] [本地要儲存的位置]

SFTP和FTP有什麼區別

refer ftp與sftp兩者有什麼區別 我們都知道 這個最後乙個字母p代表協議。所以這兩者都是經常在開發中使用的檔案傳輸方式。下面 分別來談談。ftp是tcp ip協議組中的協議之一 有兩個部分組成 ftp伺服器和ftp客戶端。伺服器用來儲存檔案 客戶端用於使用者訪問這些檔案。這個協議使用tcp...

SFTP是什麼?與FTP之間有什麼區別

什麼是sftp?sftp是一種安全的檔案傳輸協議,一種通過網路傳輸檔案的安全方法 它確保使用私有和安全的資料流來安全地傳輸資料。sftp要求客戶端使用者必須由伺服器進行身份驗證,並且資料傳輸必須通過安全通道 ssh 進行,即不傳輸明文密碼或檔案資料。它允許對遠端檔案執行各種操作,有點像遠端檔案系統協...

REST和RPC是什麼東東?兩者有什麼區別

1.1.1 rest與rpc概念 什麼是rest rest是一種架構風格,指的是一組架構約束條件和原則。滿足這些約束條件和原則的應用程式或設計就是 restful。rest規範把所有內容都視為資源,網路上一切皆資源。rest並沒有創造新的技術,元件或服務,只是使用web的現有特徵和能力。可以完全通過...