sftp

通过 SSH 交互式上传和下载文件。

执行前须知

服务器需要提供 SFTP 子系统。第一条命令在本地 shell 中执行;第二段在 sftp> 提示符内输入,不需要输入提示符本身。pwd 和 ls 查看远程位置,lpwd 查看本地位置。put 为上传,get 为下载;请先确认目标,避免覆盖文件。

使用示例

连接服务器 2222 端口的 SFTP 服务。

sftp -P 2222 alice@server.example.com

检查本地/远程位置,上传、以新名称下载文件,然后退出。

pwd
lpwd
ls
put report.txt
get report.txt report-downloaded.txt
bye

参数与示例

-P port常用

使用大写 P 连接到指定的 SSH 端口。

示例
sftp -P 2222 alice@server.example.com
-i identity_file常用

使用指定的私钥进行身份验证。

示例
sftp -i ~/.ssh/id_ed25519 alice@server.example.com
-J destination

通过指定的 SSH 跳板机连接。

示例
sftp -J alice@bastion.example.com alice@internal.example.com
-b batchfile

从批处理文件读取 SFTP 命令。需提前配置无需交互提示的身份验证。

示例
sftp -b transfer.txt alice@server.example.com
-o option

传递 SSH 客户端配置选项。

示例
sftp -o ConnectTimeout=10 alice@server.example.com
-C

请求 SSH 压缩。

示例
sftp -C alice@server.example.com
-v

显示连接诊断;输出可能包含敏感细节。

示例
sftp -v alice@server.example.com
get / put常用

在 SFTP 提示符下,下载或上传文件。这些是交互式命令,而不是 shell 命令。

示例
get report.txt report-downloaded.txt
put report.txt
ls / cd / pwd常用

在 SFTP 提示符下,列出文件、更改远程目录或显示远程目录。

示例
ls
cd reports
pwd
lcd / lpwd / bye

在 SFTP 提示符处,更改或显示本地目录,或者关闭会话。

示例
lcd ~/Downloads
lpwd
bye

权威参考

核对日期:2026 年 10 月 27 日