一、什么是sftp?
一般來(lái)說(shuō)兩臺(tái)機(jī)器間的文件傳輸,除了常用的ftp以外,還可以通過(guò)scp/sftp協(xié)議(就是本文介紹的sftp)進(jìn)行。下面我們就來(lái)看看sftp協(xié)議與ftp協(xié)議之間的差別。
(1)和ftp不同的是sftp/scp傳輸協(xié)議默認(rèn)是采用加密方式來(lái)傳輸數(shù)據(jù)的,scp/sftp確保傳輸?shù)囊磺袛?shù)據(jù)都是加密的。而ftp一般來(lái)說(shuō)允許明文傳輸,當(dāng)然現(xiàn)在也有帶SSL的加密ftp,有些服務(wù)器軟件也可以設(shè)置成“只允許加密連接”,但是畢竟不是默認(rèn)設(shè)置需要我們手工調(diào)整,而且很多用戶都會(huì)忽略這個(gè)設(shè)置。
(2)普通ftp僅使用端口21作為命令傳輸。由服務(wù)器和客戶端協(xié)商另外一個(gè)隨機(jī)端口來(lái)進(jìn)行數(shù)據(jù)傳送。在pasv模式下,服務(wù)器端需要偵聽(tīng)另一個(gè)口。假如服務(wù)器在路由器或者防火墻后面,端口映射會(huì)比較麻煩,因?yàn)闊o(wú)法提前知道數(shù)據(jù)端口編號(hào),無(wú)法映射。(現(xiàn)在的ftp服務(wù)器大都支持限制數(shù)據(jù)端口隨機(jī)取值范圍,一定程度上解決這個(gè)問(wèn)題,但仍然要映射21號(hào)以及一個(gè)數(shù)據(jù)端口范圍,還有些服務(wù)器通過(guò)UPnP協(xié)議與路由器協(xié)商動(dòng)態(tài)映射,但比較少見(jiàn))
(3)當(dāng)你的網(wǎng)絡(luò)中還有一些unix系統(tǒng)的機(jī)器時(shí),在它們上面自帶了scp等客戶端,不用再安裝其它軟件來(lái)實(shí)現(xiàn)傳輸目的。
(4)scp/sftp屬于開(kāi)源協(xié)議,我們可以免費(fèi)使用不像FTP那樣使用上存在安全或版權(quán)問(wèn)題。所有scp/sftp傳輸軟件(服務(wù)器端和客戶端)均免費(fèi)并開(kāi)源,方便我們開(kāi)發(fā)各種擴(kuò)展插件和應(yīng)用組件。
小提示:當(dāng)然在提供安全傳輸?shù)那疤嵯聅ftp還是存在一些不足的,例如他的帳號(hào)訪問(wèn)權(quán)限是嚴(yán)格遵照系統(tǒng)用戶實(shí)現(xiàn)的,只有將該帳戶添加為操作系統(tǒng)某用戶才能夠保證其可以正常登錄sftp服務(wù)器。