跳转到主内容
新派编程网 - 新潮编程理念,全新技术课堂!

宝塔面板下如何通过SSH远程管理文件_开启SFTP服务与权限配置

宝塔服务器默认支持SFTP,无需额外安装;SFTP是OpenSSH内置子系统,只要sshd运行即可使用,端口为22(或自定义SSH端口),凭证为系统用户账号密码或密钥。 宝塔服务器默认就支持 SFTP,不用额外安装服务 宝塔面板 基于 Linux 系统部署,而 OpenSSH 服务在绝大多数发行版中默认已启用,
sftp
是其内置子系统,只要
sshd
正常运行,SFTP 就可用。你不需要在宝塔里找“SFTP 插件”或安装额外组件。 常见误区是以为要像 FTP 那样单独开启 Pure-FTPd 才能用 SFTP——其实完全无关。SFTP 走的是 SSH 通道,端口就是
22
(或你改过的 SSH 端口),凭证就是系统用户账号密码(或密钥)。 确认 SSH 服务状态:在宝塔「软件管理」里查看
OpenSSH
是否显示“正在运行”;若没装,需先通过命令行安装(如
apt install openssh-server
或
yum install openssh-server
) 默认可用账户:宝塔安装时创建的
www
用户通常无密码,需手动设密才能用于 SFTP 登录 root 用户默认允许 SFTP,但出于安全,不建议直接用 root 连接;应新建普通用户并授权 给 www 用户设置密码并限制 SFTP 根目录 宝塔默认的
www
用户没有密码,无法直接用于 SFTP 登录。必须显式设置密码,并通过 SSH 配置将其限制在指定目录,否则会拥有整个系统的访问权限。 操作分两步:设密码 + 修改
/etc/ssh/sshd_config
强制 chroot: 宝塔Windows面板8.5.2 宝塔Windows面板8.5.2专为Windows Server设计,提供可视化服务器管理界面。支持一键部署IIS/Nginx、PHP、MySQL等环境,集成文件管理、数据库操作、实时监控及安全防护功能,大幅降低Windows服务器运维门槛,提升管理效率。 下载 执行
passwd www
,输入两次新密码(建议强密码,避免空格和特殊字符) 编辑
/etc/ssh/sshd_config
,找到
Subsystem sftp
行,注释掉原行(加
#
),再追加:
Subsystem sftp internal-sftp
在配置文件末尾添加:
Match User www
ChrootDirectory /www/wwwroot
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
注意:
ChrootDirectory
指定的路径(如
/www/wwwroot
)必须属主为
root
、权限为
755
,否则 sshd 启动失败;其子目录(如
/www/wwwroot/my-site
)才可归属
www
并开放写入 保存后执行
systemctl restart sshd
生效 SFTP 连接失败的三个高频原因 不是账号错、不是密码错,而是底层配置或网络策略卡住。遇到 “Connection refused” 或 “Authentication failed” 先查这些:
sshd
未监听非默认端口:如果你改过 SSH 端口(比如改成
2222
),SFTP 客户端必须填对应
port
值,VS Code 的
sftp.json
里
"port": 2222
不可省略 云服务商安全组没放行 SSH 端口:阿里云/腾讯云控制台的安全组规则里,必须有入站规则放行你实际使用的 SSH 端口(如
22
或
2222
),协议选
TCP
,源地址建议限制为你的办公 IP 而非
0.0.0.0/0
客户端误配 protocol:VS Code 的
sftp.json
中
"protocol": "ftp"
是典型错误,SFTP 必须是
"protocol": "sftp"
;填成
ftp
会导致连接被拒绝且无明确提示 VS Code 使用 SFTP 插件同步文件的实际配置要点 插件本身简单,但配置项稍有偏差就会连不上或上传失败。重点盯住这四个字段:
"host"
:填服务器公网 IP,不是域名(除非 DNS 解析稳定且本地能通)
"port"
:严格匹配你 SSH 实际监听的端口,宝塔默认是
22
,但很多人改过,务必确认
"remotePath"
:这是你登录后看到的“根路径”,必须与
ChrootDirectory
一致(如
"/"
),若你限制了
www
用户到
/www/wwwroot
,这里就填
"/"
,不是
"/www/wwwroot"
(chroot 后它就是 /)
"uploadOnSave"
:设为
true
可自动上传,但首次使用建议先关掉,手动右键上传一次验证路径是否正确,避免误覆盖 chroot 机制下,
remotePath
的语义容易混淆——它不是物理绝对路径,而是 chroot jail 内的相对起点。这点不厘清,90% 的“上传成功但文件找不到”问题都出在这里。

相关文章