openwrt /Dropbear 开启sftp完整记录

openwrt一般自带的ssh服务器 是dropbear ,而不是其他linux产用的openssh。dropbear 更加轻量化,更适合嵌入式设备。但是dropbear的文件传输只支持scp而不支持sftp。

但是某些适合,scp协议无法替代sftp。所以还是要处理一下。

一般情况下,直接安装 openssh-sftp-server 后 dropbear就可以支持sftp但是有时候不生效。

为了节省时间去检查排错,有两个方案 1、使用rclone serve 或者sftpgo直接搞定sftp 2使用openssh替换掉dropbear

2023 09 12 更新,硬盘不紧张的话 建议固件编译的时候就 使用openssh

使用rclone

安装rclone

opkg仓库安装

1
opkg install rclone

或者手动安装,注意选择你的cpu架构

1
2
3
rm -rf rclone* && wget -c https://ghproxy.com/https://github.com/rclone/rclone/releases/download/v1.62.2/rclone-v1.62.2-linux-amd64.zip
unzip rclone*.zip 
cp rclone-v1.62.2-linux-amd64/rclone /usr/bin/   && chmod +x /usr/bin/rclone  & rm -rf rclone*

配置本地储存节点

1
rclone config --config /etc/rclone/rclone.conf

添加一个本地储存 ,或者直接在rclone.conf文件添加

1
2
[localhost]
type = local

搭建服务

编辑 /etc/rc.local 在exit 0前面 添加一行,或者路由器界面中 系统> 启动项> 本地其中脚本中输入

1
2
3
rclone serve sftp localhost:/ --addr :1022 --user 用户名 --pass 密码 --dir-cache-time 10s --config /etc/rclone/rclone.conf &
rclone serve ftp localhost:/ --addr :1021 --user 用户名 --pass 密码 --dir-cache-time 10s --config /etc/rclone/rclone.conf  &
rclone  serve webdav localhost:/ --addr :1023 --user 用户名 --pass 密码 --dir-cache-time 10s --config /etc/rclone/rclone.conf  &

上面的命令,没一行对应一个服务协议,选择你需要的即可。一般局域网内没必要sftp,ftp性能更好 重启路由器即可,或者 手动运行一次 上面命令。

使用openssh

首先给root一个设置密码

过程略 sd

修改dropbear端口

1
2
3
uci set dropbear.@dropbear[0].Port=2222
uci commit dropbear
/etc/init.d/dropbear restart

然后客户端重新连接 ssh root@10.1.1.1 -p 2222
这样 dropbear 就在2222 临时提供 ssh和scp协议

安装openssh 和sftp

1
2
3
4
rm /etc/ssh/sshd_config #如果有这个文件最好删掉 重新配置
opkg update
opkg install openssh-server
opkg install openssh-sftp-server

修改配置文件

1
nano /etc/ssh/sshd_config 

需要修改和检查多数

1
2
3
UsePAM yes
PermitRootLogin yes
Subsystem       sftp    /usr/lib/sftp-server

启动或者重启

1
2
/etc/init.d/sshd enable
/etc/init.d/sshd restart

客户端连接

部分客户端 可能需要处理 .ssh/known_hosts 文件或者密钥

最后禁用dropbear

非必需

1
2
/etc/init.d/dropbear disable
/etc/init.d/dropbear stop

路由器这个圈子,不忍直视。一个错误的恩山论坛回帖 能转载的整个简中网都是。

Licensed under CC BY-NC-SA 4.0
comments powered by Disqus
Built with Hugo
主题 StackJimmy 设计