linux使用SFTP安全的傳輸文件
一顆小胡椒2021-12-27 22:57:48
什么是 SFTP
SFTP 代表 Secure File Transfer Protocol. S有時也代表 SSH(或 Secure Shell),它是文件傳輸服務運行的安全加密隧道。SFTP 是一種通過遠程系統安全傳輸文件的流行方法。該sftp命令通常是 OpenSSH 包的一部分。它被設計為 SSH v2.0 的擴展,以增強 安全文件傳輸功能。該sftp命令行界面被設計為類似于ftp命令。
FTP和SFTP有什么區別
與傳統的 FTP 協議相比,SFTP 提供了 FTP 的所有功能,但更安全,更易于配置。與 FTP 不同,SFTP 使用單個數據和控制通道。在兩臺計算機之間共享信息之前,SFTP 會驗證客戶端的身份,一旦建立安全連接,它就會發送加密信息。
SCP和SFTP有什么區別
SCP 只能用于傳輸文件,并且它是非交互的。SFTP 更復雜,允許交互式命令執行諸如創建目錄、刪除目錄和文件等操作。
如何使用 SFTP 命令
你可以連接到客戶端提到的 SFTP,例如 FileZilla,否則可以使用基本命令在命令行界面中使用它。
SFTP 還提供了多種方法來完成連接的身份驗證,例如用戶名和密碼、SSH 密鑰或這些的組合。
SFTP 默認使用端口 22,這是 SSH 的默認端口。它基本上是 SSH 的一個子系統,支持所有 SSH 認證機制。
建立 SFTP 連接
你可以在運行 Linux 的系統上或從 macOS 終端使用命令行 SFTP。
sftp [REMOTE_USER]@[REMOTE_SERVER]
例如,如果你的用戶名是rumenz,要連接到你在主機上的帳戶rumenz.com,請輸入:
sftp rumenz@rumenz.com
出現提示時輸入你的密碼。如果一切按預期進行,你將看到 sftp 提示,你可以開始與遠程服務器交互。Connected to rumenz.com. sftp>
SFTP 到 22 以外的端口
如果遠程 SSH 服務器使用自定義 SSH 端口(不是默認端口 22),請使用該-P選項指定 SFTP 端口。sftp -P 2222 rumenz@rumenz.com
有用的 SFTP 命令
如果你需要快速備忘單,這里是所有可用 SFTP 命令的列表。只需輸入help或?命令,你就可以自己找到此列表 。
命令功能cd更改遠程主機上的目錄。chmod更改遠程主機上文件的權限。chown更改遠程主機上文件的所有者。exit關閉與遠程主機的連接,并退出 SFTP。get將文件從遠程主機復制到本地計算機。lcd更改本地計算機上的目錄。lls列出本地計算機上當前目錄的內容。lmkdir在本地計算機上創建一個目錄。lpwd顯示本地計算機上的當前工作目錄。ls列出遠程主機上當前目錄的內容。mkdir在遠程主機上創建一個目錄。put將文件從本地計算機復制到遠程主機。pwd顯示遠程主機上的當前工作目錄。rename重命名遠程主機上的文件。rm刪除遠程主機上的文件。rmdir刪除遠程主機上的目錄,但該目錄必須為空。
使用 SFTP 命令傳輸文件
SFTP 允許你在兩臺機器之間安全地傳輸文件。
To download a single file從遠程服務器,使用get命令:
sftp> get website-logo.jpg Fetching /home/rumenz/website-logo.jpg /home/rumenz/website-logo.jpg 100% 11KB 17KB/s 00:00
To download a directory從遠程系統,使用-r(遞歸)選項。
sftp> get -r images/
To upload a file從本地機器到遠程SFTP服務器,使用put命令:
sftp> put website-logo.jpg Uploading website-logo.jpg to /home/rumenz/website-logo.jpg dogtoman-tmp-logo.png 100% 11KB 24KB/s 00:00
To upload a local directory 到遠程 SFTP 服務器:sftp> put -r images/
當然,你可以試驗上表中顯示的任何 SFTP 命令。
完成工作后,鍵入 關閉連接exit。一顆小胡椒
暫無描述