sFTP(安全文件傳輸程序)是一種安全的互動式檔案傳輸程序,其運作方式與 FTP(檔案傳輸協定)類似。然而,sFTP 比 FTP 更安全;它透過加密 SSH 傳輸處理所有操作。
它可以設定使用幾個有用的 SSH 功能,如公鑰認證和壓縮。它連接並登入指定的遠端機器,然後切換到互動式命令模式,在該模式下使用者可以執行各種命令。
在本文中,我們將向你展示如何使用 sFTP 上傳/下載整個目錄(包括其子目錄和子檔案)。
#預設情況下,SFTP 協定採用和 SSH 傳輸協定一樣的方式建立到遠端伺服器的安全連線。雖然,使用者驗證使用類似於 SSH 預設設定的密碼方式,但是,建議建立和使用 SSH 無密碼登錄,以簡化且更安全地連接到遠端主機。
要連接到遠端 sftp 伺服器,如下建立一個安全 SSH 連線並建立 SFTP 會話:
$ sftp tecmint@192.168.56.10
登入遠端主機後,你可以如下執行互動式的 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
#要將整個目錄上傳到遠端 Linux 主機中,請使用put指令。但是,如果目錄名稱不存在於遠端主機上的工作目錄中,你將收到錯誤,如下面的螢幕截圖所示。
因此,首先在遠端主機上建立一個具有相同名稱的目錄,然後從本機上傳它,-r參數允許拷貝子目錄和子檔案:
sftp> put -r Tecmint.com-articles sftp> mkdir Tecmint.com-articles sftp> put -r Tecmint.com-articles
#
若要保留修改時間、存取時間以及被傳輸的檔案的模式,請使用-p標誌。
sftp> put -pr Tecmint.com-articles
要從遠端 Linux 主機下載整個 fstools-0.0 資料夾到本機中,如下所示使用 get 指令帶上-r標誌:
sftp> get -r fstools-0.0
如果資料夾已經下載完成了,接著查看本機的工作目錄。
要退出 sFTP shell,輸入:
sftp> bye或者sftp> exit
請注意,為了防止使用者存取遠端主機上的整個檔案系統,出於安全原因,你可以使用 chroot Jail將 sFTP 使用者限製到其主目錄中。
就是這樣了!在本文中,我們向你展示如何使用 sFTP 上傳/下載整個目錄。
以上是Linux下使用sftp指令進行安全的檔案傳輸的詳細內容。更多資訊請關注PHP中文網其他相關文章!