ftp改為sftp_淺談 FTP、FTPS 與 SFTP

二狗子最近搭建了一個圖片分享網站,每天都有好多人在他的網站上傳許多照片,這些照片還會通過內部的邏輯同步到又拍云存儲中,非常方便。

但不久后問題就來了,由于剛開始的用戶照片管理規劃沒有做好,隨著用戶上傳的圖片越來越多,云存儲的內容也越來越混亂,二狗子看著也非常難受。這不,趁著今天休息,二狗子決定好好的調整一番。

f45b1771110f7bfe562843962de7ddd6.png

二狗子打開又拍云控制臺,上上下下找了一番沒有找到將對應文件移動到對應目錄中的功能。向又拍云客服尋求幫助后,客服薇薇告訴他,可以通過 FTP 工具來管理云存儲的文件,同時還提供了一篇詳盡的幫助文檔給二狗子 ——FTP 工具連接又拍云存儲文檔。

二狗子終于通過 FTP 工具連接上了云存儲,一頓操作之后,二狗子成功把照片整理的整整齊齊。看著這個讓強迫癥患者滿意舒適的存儲界面,又看了看能夠打造這個效果的 FTP 工具,二狗子滿意的點了點頭,決定一不做二不休徹徹底底的了解一下 FTP ,也看看 FTP 還有沒有其他的好用功能了。

FTP、FTPS 與 SFTP 簡介

FTP

在看相關功能之前,二狗子發現客戶端有三種不同的協議,分別是 FTP、FTPS 與 SFTP,為了弄清楚這是什么,二狗子打開了萬能的百科。

首先來了解一下什么是 FTP,維基百科說:FTP文件傳輸協議(英語:File Transfer Protocol 的縮寫)是一個用于計算機網絡上在客戶端和服務器之間進行文件傳輸的應用層協議。完整的 FTP 是由 FTP 服務器 和 FTP 客戶端組成的,客戶端可以將本地的文件通過 FTP 協議上傳到服務器,也可以將服務器的文件下載到本地。它是當今使用的最古老的文件傳輸協議之一,是一種非常便捷的移動文件的方式。

FTP 的工作原理

FTP 連接需要 FTP 服務器和客戶端兩方在網絡上建立通信。建立 FTP 連接時會有兩個不同的通信通道。一個被稱為命令通道,它的作用是發出和響應指令。另一個為數據通道,用于客戶端和服務器端進行數據交互。

使用 FTP 傳輸文件時,用戶需要通過向 FTP 服務器提供憑據來獲得文件傳輸許可。當然某些公共 FTP 服務器可能不需要憑據即可訪問其文件,但是無法保證數據傳輸的安全性,任何未加密公共網絡上的數據發送都是非常危險的,所以為了保護傳輸數據的安全,由 FTP 衍生而出的就是下面的兩種協議:FTPS 與 SFTP。

FTPS

接下來二狗子查詢了一下,發現 FPTS 有 FTPS 隱式 SSL 和 FTPS 顯示 SSL 兩種模式,兩者都是用 SSL 加密。那么兩者有什么區別呢?

  • FTPS 隱式 SSL:該模式通常在端口 990 上運行。在這個模式下全部數據的交換都需要在客戶端和服務器之間建立 SSL 會話,并且服務器會拒絕任何不使用 SSL 進行的連接嘗試。
  • FTPS 顯式 SSL:顯示 SSL 下服務器可以同時支持 FTP 和 FTPS 會話。開始會話前客戶端需要先建立與 FTP 服務器的未加密連接,并在發送用戶憑證前先發送 AUTH TLS 或 AUTH SSL 命令來請求服務器將命令通道切換到 SSL 加密通道,成功建立通道后再將用戶憑證發送到 FTP 服務器,從而保證在會話期間的任何命令都可以通過 SSL 通道自動加密。

二狗子來給大家簡單快速的總結一下。當啟用隱式模式時,FTP 的默認端口就被改為 TCP/990,服務器自動建立安全連接,并且要求客戶端也必須支持安全連接模式也就是使用 SSL 進行連接。當啟用顯式模式時,與 FTP 連接方式和默認端口一樣,但是需要以命令 AUTH SSL/TLS 類型的命令進行激活安全連接后才能正常傳輸數據。

SFTP

最后大家來一起看看 SFTP,SFTP 是 Secure File Transfer Protocol 的縮寫,也叫作安全文件傳送協議。

如果說 FTPS 是在 FTP 協議上增加了一層 SSL ,那么 SFTP 就是是基于網絡協議SSH(安全外殼)的協議與前面所說的 FTP 完全不同。SFTP 不使用單獨的命令通道和數據通道,而是數據和命令都會通過單個連接以特殊格式的數據包進行傳輸。

SFTP 提供了兩種驗證連接的方法。

  • 與 FTP 一樣,連接時只需要驗證用戶 ID 和密碼就可以了。但是,與FTP不同的是,這些憑據是加密的,這是 SFTP 最主要的安全優勢。
  • 除密碼外,還可以通過 SSH 密鑰來驗證并通過 SFTP 協議連接。

了解了這幾個協議之后,二狗子使用 FTP 客戶端工具就更加順手了,他可以根據自己的需求更改協議以及加密方式,而不用為不懂某個設置而煩惱。

a939316de6c8501cbb0a4ba7dab8edbe.png

但是,新的疑問又出現了,二狗子看到這里的傳輸設置中的傳輸模式,有主動和被動之分,這又是什么意思呢。不懂就問的他又打開了 Google...

911243c2156b1706640cb1711a487c6e.png

FTP 軟件的主動模式和被動模式的區別

主動模式

一般 FTP 的默認模式就是主動模式,也稱為 port 模式。

它是通過兩個步驟來進行工作的:

  • 首先客戶端上的隨機端口與服務器上的 FTP 端口 21 建立命令通道,客戶端發送 PORT 命令,指定服務器與客戶端其中一個端口連接,并建立數據通道。
  • 然后服務器從端口 20 連接到為數據通道指定的客戶端端口。建立連接后,即可通過這些客戶端和服務器端口進行文件傳輸。

被動模式

在傳輸方式欄,你還可以手動調整為被動傳輸模式,在該模式下用戶端進行文件傳輸時,會先通過隨機端口 A 連接到服務器上的端口 21,并發出 PASV 命令建立命令通道,告訴服務端這次是被動模式連接。之后服務器會打開一個隨機端口用于數據傳輸,而客戶端通過與發出命令的端口不同的隨機端口 B 建立數據通道,從而進行文件傳輸。

5dea4775ff17be56255cd0ff2c08bc01.png

被動模式與主動模式不同的地方就是客戶端啟動數據連接。在主動模式下,客戶端在命令通道上建立連接后,服務器將啟動與客戶端的數據連接。而在被動模式下,建立命令通道后,由客戶端啟動與服務器的數據連接。

因為這個區別,可以得出兩者的優勢和缺陷。比如主動模式有利于管理 FTP 服務端,因為只需要打開 21 端口的“準入”、20 端口的“準出” 即可,但是由于服務器連接到客戶端的端口隨機,所以客戶端有可能會觸發防火墻,甚至直接被防火墻攔截掉。反之被動模式則有利于管理客戶端。

沒想到一個看似簡單的存儲工具居然還有著這么多的分類和區別,不同的模式不同的方式都可以對應不同的需求,看來以后在使用工具的時候還是可以多少了解一點相關知識,能讓工具用起來更順手更舒心~

推薦閱讀:

HTTP/3 來了,你了解它么??www.upyun.com
d0e310ed013d4ab142b52ed5c0230d9c.png
邊緣計算、區塊鏈、5G,哪個能走的更遠 - 又拍云?www.upyun.com
f8c7fab8eea520122df261d533ef18cf.png

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/458059.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/458059.shtml
英文地址,請注明出處:http://en.pswp.cn/news/458059.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

如何解決秒殺的性能問題和超賣的討論

2019獨角獸企業重金招聘Python工程師標準>>> 最近業務試水電商,接了一個秒殺的活。之前經常看到淘寶的同行們討論秒殺,討論電商,這次終于輪到我們自己理論結合實際一次了。 ps:進入正文前先說一點個人感受,…

C# 從Excel中讀取時間數據

之前寫到從Excel中讀取時間數據 //讀取Excel數據Excel.Application xapp new Excel.Application();string filepath txt_Excel.Text;Excel.Workbook xbook xapp.Workbooks._Open(filepath, Missing.Value, Missing.Value,Missing.Value, Missing.Value, Missing.Value, Miss…

grid autosport額外內容下載慢_清理大王app下載-清理大王v1.0安卓下載

清理大王,下面由小編給大家介紹一下這款軟件,該軟件是一款非常不錯的手機清理服務應用軟件,清理大王app為用戶提供了手機垃圾清理,內存加速,優化手機,解決手機卡頓的情況。感興趣的朋友歡迎使用微俠下載&am…

(轉)瀏覽器兼容的JS寫法總結

-、元素查找問題1. document.all[name] (1)現有問題:Firefox不支持document.all[name] (2)解決方法:使用getElementsByName(name),getElementById(id)等來替代。 2. 集合類對象問題 (1)現有問題:IE中對許多集合類對…

java面試總結(第一天)

臨近大學畢業,出來試試找工作,學c#出身,半路出家java,做過幾個ssh、stringMVC的項目。基礎知識不太扎實,勿噴 以下是我面試過程中遇到的問題 ----------------------------------------------------------------------…

怎么看cudnn的版本好_祖墳風水怎么看,好祖墳有什么征兆?

人們之所以看重祖墳的風水,是因為祖墳的風水與后代子孫的運勢密切相關,可以說祖墳的風水好不好關系著子孫后代的運勢順不順,因此對于祖墳的風水好壞人們是非常在意的,那么祖墳風水怎么看,好祖墳有什么征兆呢?下面是小編…

iOS - Swift SQLite 數據庫存儲

前言 采用 SQLite 數據庫來存儲數據。SQLite 作為一中小型數據庫,應用 iOS 中,跟前三種保存方式相比,相對比較復雜一些。注意:寫入數據庫,字符串可以采用 char 方式,而從數據庫中取出 char 類型&#xff0c…

Hibernate 多對多關聯查詢條件使用

from Brand as b inner join fetch b.styles as s where s.styleId? 轉載于:https://www.cnblogs.com/cocoat/p/5427467.html

Spark 寬依賴和窄依賴

2019獨角獸企業重金招聘Python工程師標準>>> 我們知道RDD就是一個不可變的帶分區的記錄集合,Spark提供了RDD上的兩類操作,轉換和動作。轉換是用來定義一個新的RDD,包括map, flatMap, filter, union, sample, join, groupByKey, co…

smart gesture安裝失敗_WinCC flexible SMART V3 SP2安裝步驟以及常見錯誤解決方法

1安裝配置1. win7和win10系統都可以裝2. 運行內存至少要2G。3. 硬盤儲存空間至少要3G。2安裝注意事項1.安裝本軟件之前必須要關閉所有殺毒軟件(例如360安全衛士/360殺毒/電腦管家)等。2.其它西門子軟件不要使用或者打開。3.安裝之前確保硬盤空間充足。3下載地址https://bbs.jcp…

各類數據集整理(持續更新中ing)

轉自:https://zhuanlan.zhihu.com/p/84088095 最近一次新增:2020.02.11 大家好,先給各位抱拳了!我是和鯨(科賽 http://kesci.com)的運營一枚,今天給大家分享以下我們(通過網線&…

Java Experiment 3 PairProgramming

http://www.cnblogs.com/20145106ssr/p/5428222.html 轉載于:https://www.cnblogs.com/Christen/p/5428655.html

啟動頁面和各設備的寬高比及像素

2019獨角獸企業重金招聘Python工程師標準>>> iOS7只能用LaunchImage來布置啟動畫面,只能用圖片。iOS8以后支持LaunchScreen.xib來布置,可以自己添加控件。iOS8以及以后的用LaunchScreen來配置啟動頁。iOS8以后的會走這個設置,而io…

cc壓力測試_中小型網站如何防范CC攻擊?

大公司就不說了,付費CDN,防火墻,WAF,大流量,一般也會配置專門的安全問題響應團隊。今天側重討論一下中小型網站如何(優雅)防范CC攻擊。中小站點安全問題通病:對安全問題不重視&#…

ubuntu16.04 360隨身WiFi2

查看kernel版本,插入360隨身WiFi2,打開終端,執行下面命令即可。 ------------------------------------------------------------------------------------------------------------- From your kernel version, 4.2.0-16, it appears that…

泛型復習

回顧泛型類 泛型類&#xff1a;具有一個或多個泛型變量的類被稱之為泛型類1、class A<T>{} 2、在創建泛型實例時&#xff0c;需要為其類型變量賦值A<String> anew A<String>(); *如果創建實例時&#xff0c;不給類型變量賦值&#xff0c;那么會有一個警告&am…

.net core EPPlus npoi_2020 ASP.NET界面開發:DevExpress v20.1支持.NET Core設計時

DevExpress ASP.NET Web Forms Controls擁有針對Web表單(包括報表)的110種UI控件&#xff0c;DevExpress ASP.NET MVC Extensions是服務器端MVC擴展或客戶端控件&#xff0c;由輕量級JavaScript小部件提供支持的70個高性能DevExpress ASP.NET Core Controls&#xff0c;包含功能…

ubuntu android studio SDK emulator directory is missing

ctrlH&#xff0c;搜索Android studio&#xff0c;把所有的都刪除&#xff0c;再次安裝即可下載

有關于我的一點想法

之前失眠寫的&#xff0c;從空間搬運過來 之前一直想寫一下有關自己想法。趁著失眠寫一寫。 不知道是不是幸運&#xff0c;我有幸認識了吳寶俊老師。他寫博客&#xff0c;我經常去看他寫的博客。后來在留言板發言幾次也就熟了。雖然也僅限網友吧……但是我需要人給我指點迷津。…

mac電腦如何與手機同步復制粘貼_如何將電腦里的文件同步到手機里?

由于PDF的特殊性&#xff0c;一般很少有適用于手機編輯的軟件&#xff0c;所以我們都習慣于使用電腦來修改PDF文檔后&#xff0c;再發送到手機微信發送給其他人&#xff0c;那么如何快速將電腦里的PDF文件同步到手機里面呢&#xff1f;可能很多人會想到使用各種云盤&#xff0c…