windows sftp 命令行

老刘

Windows 下 SFTP 命令行使用指南:从连接到传文件,一篇讲透

目标关键词:Windows SFTP 命令行

在日常运维、服务器管理、网站上传下载、备份同步这些场景里,SFTP 是非常实用的工具。它和传统 FTP 不一样,传输过程是加密的,安全性更高。对于 Windows 用户来说,很多人第一反应是装图形化软件,但其实 Windows 本身就支持命令行 SFTP,不装软件也能完成登录、上传、下载、删除、查看目录等操作。

这篇文章就围绕 Windows SFTP 命令行 展开,按新手也能看懂的方式,一步一步讲清楚怎么用。


一、先搞清楚:SFTP 到底是什么

SFTP 的全称是 SSH File Transfer Protocol,简单理解就是:

  • 它是通过 SSH 加密通道 传文件
  • 可以像普通命令一样在终端里操作
  • 比 FTP 更安全
  • 常用于:
    • 服务器文件管理
    • 网站程序上传
    • 日志下载
    • 数据备份
    • 服务器运维

很多人会把 SFTPFTP 搞混,这里直接记住一个简单区别:

  • FTP:早期协议,明文传输,安全性差
  • SFTP:走 SSH 加密,安全性高,适合现在使用

如果你手里有一台 Linux 服务器、NAS、堡垒机,或者运维面板给你了 SFTP 地址,那么 Windows 命令行就能直接连。


二、Windows 自带的 SFTP 命令行在哪里

从 Windows 10、Windows 11 开始,系统里通常自带了 OpenSSH 客户端。也就是说,很多电脑不用额外安装软件,直接就能用。

1. 打开命令行工具

你可以用下面任意一种:

  • PowerShell
  • 命令提示符 CMD
  • Windows Terminal

推荐用 PowerShellWindows Terminal,体验更好。

2. 检查是否支持 SFTP

在命令行输入:

sftp

如果出现类似下面的提示,说明可用:

usage: sftp [-46AaCfNpqrv] ...

如果提示“不是内部或外部命令”,说明系统没装好 OpenSSH 客户端,需要手动补装。


三、如果 Windows 没有 SFTP 命令,怎么安装

方法一:通过系统功能安装

适合大多数人。

操作步骤

  1. 打开 设置
  2. 进入 应用
  3. 找到 可选功能
  4. 点击 添加可选功能
  5. 搜索 OpenSSH Client
  6. 点击安装

安装完成后,重新打开命令行窗口,再输入:

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,或者环境变量没加载。

解决方法

  1. 安装 OpenSSH Client
  2. 重新打开命令行窗口
  3. 再输入 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 用户名@IP
  • ls
  • cd
  • put
  • get
  • bye

基本就能完成 80% 的日常传输任务。

对于 Windows 用户来说,SFTP 命令行不是难事,真正要做的,就是先把连接、目录切换、上传下载这几个基础动作练熟,后面再慢慢接触批处理和自动化脚本,效率会提升非常明显。

文章版权声明:文章内容均来源于各大短视频平台搜集以及修改和删减新增,如有侵权或者违规,请联系站长进行删除,如需转载或复制请以超链接形式并注明出处。

发表评论

快捷回复: 表情:
AddoilApplauseBadlaughBombCoffeeFabulousFacepalmFecesFrownHeyhaInsidiousKeepFightingNoProbPigHeadShockedSinistersmileSlapSocialSweatTolaughWatermelonWittyWowYeahYellowdog
验证码
评论列表 (暂无评论,4人围观)

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

目录[+]