如何在Linux中使用sFTP上傳或下載文件與文件夾
sFTP(安全文件傳輸程序)是一種安全的交互式文件傳輸程序,其工作方式與 FTP(文件傳輸協(xié)議)類似。 然而,sFTP 比 FTP 更安全;它通過加密 SSH 傳輸處理所有操作。
它可以配置使用幾個有用的 SSH 功能,如公鑰認(rèn)證和壓縮。 它連接并登錄到指定的遠(yuǎn)程機(jī)器,然后切換到交互式命令模式,在該模式下用戶可以執(zhí)行各種命令。
在本文中,我們將向你展示如何使用 sFTP 上傳/下載整個目錄(包括其子目錄和子文件)。
如何在 Linux 中使用 sFTP 傳輸文件/文件夾
默認(rèn)情況下,SFTP 協(xié)議采用和 SSH 傳輸協(xié)議一樣的方式建立到遠(yuǎn)程服務(wù)器的安全連接。雖然,用戶驗證使用類似于 SSH 默認(rèn)設(shè)置的密碼方式,但是,建議創(chuàng)建和使用 SSH 無密碼登錄,以簡化和更安全地連接到遠(yuǎn)程主機(jī)。
要連接到遠(yuǎn)程 sftp 服務(wù)器,如下建立一個安全 SSH 連接并創(chuàng)建 SFTP 會話:
- $ sftp tecmint@192.168.56.10
登錄到遠(yuǎn)程主機(jī)后,你可以如下運(yùn)行交互式的 sFTP 命令:
- sftp> ls #list directory
- sftp> pwd #print working directory on remote host
- sftp> lpwd #print working directory on local host
- sftp> mkdir uploads #create a new directory
Run sFTP Commands on Remote Linux
- Linux 主機(jī)上運(yùn)行 sFTP 命令*
如何使用 sFTP 上傳文件夾
要將整個目錄上傳到遠(yuǎn)程 Linux 主機(jī)中,請使用 put 命令。但是,如果目錄名稱不存在于遠(yuǎn)程主機(jī)上的工作目錄中,你將收到錯誤,如下面的屏幕截圖所示。
因此,首先在遠(yuǎn)程主機(jī)上創(chuàng)建一個具有相同名稱的目錄,然后從本地主機(jī)上傳它,-r 參數(shù)允許拷貝子目錄和子文件:
- sftp> put -r Tecmint.com-articles
- sftp> mkdir Tecmint.com-articles
- sftp> put -r Tecmint.com-articles
使用 sFTP 上傳文件夾
要保留修改時間、訪問時間以及被傳輸?shù)奈募哪J?,請使?-p 標(biāo)志。
- sftp> put -pr Tecmint.com-articles
如何使用 sFTP 下載文件夾
要從遠(yuǎn)程 Linux 主機(jī)下載整個 fstools-0.0 文件夾到本機(jī)中,如下所示使用 get 命令帶上 -r 標(biāo)志:
- sftp> get -r fstools-0.0
使用 sFTP 下載目錄
如果文件夾已經(jīng)下載完成了,接著查看本機(jī)的工作目錄。
要退出 sFTP shell,輸入:
- sftp> bye
- 或者
- sftp> exit
此外,閱讀這篇 sFTP 命令和使用技巧。
請注意,為了防止用戶訪問遠(yuǎn)程主機(jī)上的整個文件系統(tǒng),出于安全原因,你可以使用 chroot Jail 將 sFTP 用戶限制到其主目錄中。
就是這樣了!在本文中,我們向你展示了如何使用 sFTP 上傳/下載整個目錄。使用下面的評論欄向我們提供你對本文/主題的看法。
作者簡介:
Aaron Kili 是 Linux 和 F.O.S.S 愛好者,將來的 Linux 系統(tǒng)管理員和網(wǎng)絡(luò)開發(fā)人員,目前是 TecMint 的內(nèi)容創(chuàng)作者,他喜歡用電腦工作,并堅信分享知識。