Windows 下 SFTP 命令行使用指南:从连接到传文件,一篇讲透
目标关键词:Windows SFTP 命令行
在日常运维、服务器管理、网站上传下载、备份同步这些场景里,SFTP 是非常实用的工具。它和传统 FTP 不一样,传输过程是加密的,安全性更高。对于 Windows 用户来说,很多人第一反应是装图形化软件,但其实 Windows 本身就支持命令行 SFTP,不装软件也能完成登录、上传、下载、删除、查看目录等操作。
这篇文章就围绕 Windows SFTP 命令行 展开,按新手也能看懂的方式,一步一步讲清楚怎么用。
一、先搞清楚:SFTP 到底是什么
SFTP 的全称是 SSH File Transfer Protocol,简单理解就是:
- 它是通过 SSH 加密通道 传文件
- 可以像普通命令一样在终端里操作
- 比 FTP 更安全
- 常用于:
- 服务器文件管理
- 网站程序上传
- 日志下载
- 数据备份
- 云服务器运维
很多人会把 SFTP 和 FTP 搞混,这里直接记住一个简单区别:
- FTP:早期协议,明文传输,安全性差
- SFTP:走 SSH 加密,安全性高,适合现在使用
如果你手里有一台 Linux 服务器、NAS、堡垒机,或者运维面板给你了 SFTP 地址,那么 Windows 命令行就能直接连。
二、Windows 自带的 SFTP 命令行在哪里
从 Windows 10、Windows 11 开始,系统里通常自带了 OpenSSH 客户端。也就是说,很多电脑不用额外安装软件,直接就能用。
1. 打开命令行工具
你可以用下面任意一种:
- PowerShell
- 命令提示符 CMD
- Windows Terminal
推荐用 PowerShell 或 Windows Terminal,体验更好。
2. 检查是否支持 SFTP
在命令行输入:
sftp
如果出现类似下面的提示,说明可用:
usage: sftp [-46AaCfNpqrv] ...
如果提示“不是内部或外部命令”,说明系统没装好 OpenSSH 客户端,需要手动补装。
三、如果 Windows 没有 SFTP 命令,怎么安装
方法一:通过系统功能安装
适合大多数人。
操作步骤
- 打开 设置
- 进入 应用
- 找到 可选功能
- 点击 添加可选功能
- 搜索 OpenSSH Client
- 点击安装
安装完成后,重新打开命令行窗口,再输入:
sftp
测试是否成功。
方法二:PowerShell 安装
如果你习惯命令行,可以用管理员权限打开 PowerShell,输入:
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
安装完成后,同样重开窗口测试。
四、Windows SFTP 命令行怎么连接服务器
SFTP 的基本连接格式是:
sftp 用户名@主机地址
比如:
sftp root@192.168.1.100
或者:
sftp admin@example.com
如果服务器使用非默认端口,比如 2222,可以这样写:
sftp -P 2222 root@192.168.1.100
注意这里是大写 P,不是小写。
首次连接会看到什么
第一次连接服务器时,系统通常会提示你确认主机指纹,类似:
The authenticity of host '192.168.1.100 (192.168.1.100)' can't be established.
Are you sure you want to continue connecting (yes/no/[fingerprint])?
如果你确认这是自己的服务器,输入:
yes
然后系统会提示输入密码:
root@192.168.1.100's password:
输入密码后,进入 SFTP 交互界面。
五、SFTP 常用命令,记住这几个就够用了
成功登录后,你会看到类似这样的提示:
sftp>
这就表示已经进入 SFTP 命令环境了。
下面这些命令是最常用的,足够应付大部分日常操作。
1. 查看远程目录文件
ls
作用:列出服务器当前目录下的文件和文件夹。
如果想看详细信息:
ls -l
2. 查看当前远程路径
pwd
作用:显示你现在在服务器的哪个目录。
3. 切换远程目录
cd /var/www
作用:进入服务器上的指定目录。
例如进入网站目录:
cd /var/www/html
4. 查看本地目录
lpwd
作用:显示你 Windows 本机当前所在的目录。
5. 切换本地目录
lcd D:\download
作用:切换你电脑上的本地目录。
例如把下载文件保存到 D 盘某个文件夹里。
6. 从本地上传文件到服务器
put 文件名
例如:
put test.zip
如果想上传到当前服务器目录,这样就可以。
如果要上传整个文件夹,通常需要递归参数:
put -r foldername
7. 从服务器下载文件到本地
get 文件名
例如:
get backup.sql
如果下载整个目录:
get -r foldername
8. 重命名远程文件
rename old.txt new.txt
9. 删除远程文件
rm filename.txt
删除远程目录则用:
rmdir dirname
注意:
rm是删文件rmdir是删空目录
如果目录不为空,不能直接删。
10. 退出 SFTP
bye
或者:
exit
六、一个完整的 Windows SFTP 命令行实战例子
下面给你一个最常见的操作流程:连接服务器,把本地文件上传到网站目录。
场景
- 服务器 IP:
192.168.1.100 - 用户名:
root - 端口:
22 - 本地文件:
D:\project\index.html - 服务器目录:
/var/www/html
第一步:打开 PowerShell
输入:
sftp root@192.168.1.100
如果端口不是 22:
sftp -P 2222 root@192.168.1.100
第二步:输入密码
登录后进入:
sftp>
第三步:切换远程目录
cd /var/www/html
第四步:切换本地目录
lcd D:\project
第五步:上传文件
put index.html
第六步:检查是否上传成功
ls
看目录里是否已经出现 index.html。
第七步:退出
bye
七、Windows SFTP 命令行常见问题与解决办法
问题 1:输入 sftp 提示不是内部命令
原因
系统没有安装 OpenSSH Client,或者环境变量没加载。
解决方法
- 安装 OpenSSH Client
- 重新打开命令行窗口
- 再输入
sftp
问题 2:连接失败,提示 Connection refused
原因
常见有这几种:
- 服务器 SFTP 服务没开
- 端口写错了
- 防火墙拦截了
- SSH 服务没启动
解决方法
先确认服务器端 SSH/SFTP 是否正常:
Linux 服务器上可以执行:
systemctl status sshd
或:
systemctl status ssh
如果没启动,执行:
systemctl start sshd
还要确认防火墙放行端口 22 或自定义端口。
问题 3:用户名密码正确但还是登录不了
原因
可能是:
- 服务器禁用了密码登录
- 账号权限不足
- SSH 配置限制了登录方式
- 密钥认证要求不正确
解决方法
检查服务器 SSH 配置文件:
/etc/ssh/sshd_config
重点看这些配置项:
PasswordAuthentication yes
PermitRootLogin yes
如果服务器使用密钥登录,那就要准备对应的私钥文件。
问题 4:上传下载速度很慢
原因
可能是:
- 网络延迟高
- 服务器带宽小
- 文件太大
- 本地磁盘读写慢
解决方法
- 尽量在网络稳定时传输
- 大文件分批传
- 服务器放在近一点的机房
- 检查宽带上传速度
- 避免同时跑大量占网速的软件
问题 5:中文文件名乱码
原因
终端编码或服务器编码不一致。
解决方法
优先建议:
- 尽量使用英文文件名
- 避免特殊符号
- 不同系统间传文件时,先改成拼音或英文
这是最省事也最稳定的方案。
八、Windows 命令行 SFTP 和图形化软件怎么选
很多人会问:既然有命令行,为什么还要用 WinSCP、FileZilla 这类软件?
命令行适合:
- 服务器运维
- 批量脚本处理
- 自动化备份
- 临时传文件
- 远程机房维护
图形化软件适合:
- 新手
- 不熟悉命令的人
- 想拖拽上传下载的人
- 需要频繁浏览目录的人
如果你是新手,可以先用图形化工具熟悉目录结构,再慢慢学命令行。
如果你是运维或者经常批量操作,Windows SFTP 命令行更高效,还能写进脚本里自动执行。
九、进阶用法:把 SFTP 写进脚本自动执行
这个对经常备份的人很实用。
比如你想每天自动把服务器文件拉到本地,可以把命令写到一个文本文件里。
示例:sftp 批处理脚本
新建一个文本文件,比如 sftp.txt,内容如下:
lcd D:\backup
cd /var/www/html
get backup.sql
bye
然后执行:
sftp -b sftp.txt root@192.168.1.100
说明:
-b表示批处理模式- 可以减少手工输入
- 适合计划任务、备份脚本
如果是批量上传,也可以同理写进脚本。
十、如果你要登录的是服务器,安全建议一定要注意
SFTP 虽然比 FTP 安全,但也不是“随便一连就万事大吉”,下面这些习惯最好养成。
1. 尽量使用普通用户,不要长期直接用 root
root 权限太大,一旦账号泄露,风险很高。
建议:
- 平时用普通用户登录
- 必要时再切换权限
2. 改掉默认 SSH 端口
默认 22 端口容易被扫描。
改端口不能完全防攻击,但能减少大量自动化扫描。
3. 开启密钥登录
比密码更安全,尤其是公网服务器。
4. 定期备份重要文件
SFTP 不是备份本身,只是传输工具。
重要网站、数据库、配置文件,还是要定期备份到本地或 NAS。
5. 不要在不可信电脑上保存密码
网吧电脑、公共电脑、别人的办公机都不建议长期登录服务器。
十一、Windows SFTP 命令行常用命令速查表
下面这个表你可以直接收藏,日常用得最多。
sftp 用户名@IP 连接服务器
sftp -P 端口 用户名@IP 指定端口连接
ls 查看远程文件
pwd 查看远程当前路径
cd 路径 切换远程目录
lpwd 查看本地当前路径
lcd 路径 切换本地目录
put 文件名 上传文件
put -r 文件夹 上传文件夹
get 文件名 下载文件
get -r 文件夹 下载文件夹
rm 文件名 删除远程文件
rmdir 文件夹 删除远程空目录
rename 旧名 新名 重命名远程文件
bye / exit 退出
十二、总结:Windows SFTP 命令行到底适合谁
如果你平时只是偶尔传个文件,图形化软件会更省心。
但如果你经常接触服务器、网站、备份、运维,Windows SFTP 命令行非常值得学,它的优点很明显:
- 系统自带,很多电脑无需额外安装
- 操作稳定
- 适合批量和自动化
- 传输安全性高
- 对服务器管理更专业
只要你记住最核心的几个命令:
sftp 用户名@IPlscdputgetbye
基本就能完成 80% 的日常传输任务。
对于 Windows 用户来说,SFTP 命令行不是难事,真正要做的,就是先把连接、目录切换、上传下载这几个基础动作练熟,后面再慢慢接触批处理和自动化脚本,效率会提升非常明显。

还没有评论,来说两句吧...