sFTP(安全文件传输程序)是一种安全的交互式文件传输程序,其工作方式与 FTP(文件传输协议)类似。 然而,sFTP 比 FTP 更安全;它通过加密 SSH 传输处理所有操作。
它可以配置使用几个有用的 SSH 功能,如公钥认证和压缩。 它连接并登录到指定的远程机器,然后切换到交互式命令模式,在该模式下用户可以执行各种命令。
在本文中,我们将向你展示如何使用 sFTP 上传 / 下载整个目录(包括其子目录和子文件)。
# How to use
默认情况下,SFTP 协议采用和 SSH 传输协议一样的方式建立到远程服务器的安全连接。虽然,用户验证使用类似于 SSH 默认设置的密码方式,但是,建议创建和使用 SSH 无密码登录,以简化和更安全地连接到远程主机。
要连接到远程 sftp 服务器,如下建立一个安全 SSH 连接并创建 SFTP 会话:
登录到远程主机后,你可以如下运行交互式的 sFTP 命令:
|  | sftp> ls             | 
|  | sftp> lls            | 
|  | sftp> pwd            | 
|  | sftp> lpwd           | 
|  | sftp> cd img         | 
|  | sftp> lcd img        | 
|  | sftp> mkdir img      | 
|  | sftp> lmkdir img     | 
# 上传文件
|  | sftp> put readme.md  | 
|  | sftp> mput *.xls     | 
# 下载文件
|  | sftp> get readme.md  | 
|  | sftp> mget *.xls     | 
# 上传文件夹
使用 put -r . 但是远程服务器要提前创建一个相同名称的目录; -r 递归复制子目录和子文件
|  | sftp> mkdir img | 
|  | sftp> put -r img | 
要保留修改时间、访问时间以及被传输的文件的模式,可使用 -p 。
# 下载文件夹
# 退出
|  | sftp> bye | 
|  | 或 | 
|  | sftp> exit | 
|  | 或 | 
|  | ctrl + d |