Contents

OpenWrt 安装 SFTP

在 OpenWrt 路由器上启用 SFTP,实现安全的远程文件管理。

📡 在 OpenWrt 中安装 SFTP 支持(一步步来)


🧰 第一步:更新包管理器

先确认路由器能上网,然后刷新软件源:

1
opkg update

📌 注意:如果网络未连接,opkg update 将无法成功。


📦 第二步:安装 SFTP 服务组件

安装 SFTP 组件(基于 SSH,性能轻,安全性高):

1
2
3
opkg install openssh-sftp-server
# 如果你想保留传统 FTP,可额外装 vsftpd(非必需)
# opkg install vsftpd

openssh-sftp-server 提供 SFTP 子系统,和系统 SSH 账户复用认证。


🔄 第三步:设置服务启动并加入开机启动

启动并加入开机自动启动(Dropbear/SSH 进程会自动加载 sftp-server):

1
2
/etc/init.d/vsftpd enable
/etc/init.d/vsftpd start

如果没装 vsftpd,这两行可以忽略;核心是保证 SSH 正常运行。


🔐 可选:开启密钥登录、更安全

  1. 在电脑上生成密钥:
    1
    
    ssh-keygen -t ed25519 -C "openwrt-sftp"
    
  2. 把公钥追加到路由器 ~/.ssh/authorized_keys
    1
    2
    
    cat id_ed25519.pub >> ~/.ssh/authorized_keys
    chmod 600 ~/.ssh/authorized_keys
    
  3. 之后用密钥登录,减少密码暴力风险。

🧱 可选:放行防火墙端口

默认 SFTP 走 22 端口。如有自定义端口,记得在防火墙放行:

1
2
3
4
5
6
7
8
uci set firewall.ssh=rule
uci set firewall.ssh.name='Allow-SSH'
uci set firewall.ssh.src='wan'
uci set firewall.ssh.proto='tcp'
uci set firewall.ssh.dest_port='22'
uci set firewall.ssh.target='ACCEPT'
uci commit firewall
/etc/init.d/firewall restart

🖥️ 第四步:用客户端测试连接

你可以使用 FileZilla 或其他 SFTP 客户端进行连接:

  • 主机地址:路由器的局域网 IP(如 192.168.1.1
  • 用户名:OpenWRT 登录用户名(如 root
  • 密码:对应用户密码
  • 端口号:22
  • 协议类型:SFTP

点击连接后,即可访问路由器文件系统。


✅ 总结

通过以上步骤,你已成功在 OpenWrt 中启用 SFTP。此方法适用于远程文件管理、配置备份等场景,推荐配合 WinSCP、FileZilla 等工具使用。

如遇连接失败,请检查:

  • 防火墙是否开放你使用的 SSH 端口
  • 用户密码/密钥是否正确
  • openssh-sftp-server 是否已安装并随 SSH 进程加载