segfault 发表于 2022-7-26 04:02:29

升级华为光猫自带OpenWrt的dropbear SSH服务器

本帖最后由 segfault 于 2022-7-26 04:58 编辑

之前是看了achaoge大大的教程,成功搞定了HS8145V自带的OpenWrt:
https://www.chinadsl.net/thread-158737-1-1.html

然后发现从OpenWrt Chaos Calmer官方源下载的dropbear版本貌似很旧(v2015.67),搜了一下貌似还存在安全漏洞,虽然我大体看了一下好像没发现受影响,但心里总感觉有块疙瘩。

OpenWrt貌似是跑在LXC容器里,外边华为也整了个dropbear ssh,不过版本貌似也没新到哪里(v2016.73),而且好像还禁止端口转发,包括socks5动态转发。

从OpenWrt官方最新版21.02.3下载回来的dropbear版本是2020.81,前进了不少,但目前仍然不是最新。
而且华为这个CPU貌似没有硬浮点,所以把文件拷进去后貌似SIGILL挂了,跑不起来。


总之,我参照OpenWrt官方wiki的指导,开启了软浮点重新编译了一下,并且升级dropbear到了最新的2022.82版。
https://gist.github.com/segfault-bilibili/4840c5c34deddc28053b10c69ea02c97

新版dropbear支持ed25519 host key,(再结合Curve25519 key exchange,最好客户端私钥也换成ed25519的)可以感觉到登录明显变快了;
而且支持chacha20-poly1305 AEAD加密,实测速度是aes-128-ctr的2倍左右,CPU占用率60%时能跑到8-10MB/s
(上文提到的端口转发更不在话下)

在已经安装好老版本dropbear的情况下,
(注意路径。如果是通过telnet或者LXC容器外光猫自带的dropbear ssh登录,那我在下面写的是完整路径。但如果是通过LXC容器内OpenWrt的dropbear登录,那举个例子,放在容器内视角就只是/lib/,但在容器外视角看到的完整路径其实是/opt/upt/apps/apps/lib/——所以如果你是从OpenWrt内的dropbear ssh登录,就需要把下述完整路径开头的/opt/upt/apps/apps删去)
把ld-musl-arm.so.1复制到/opt/upt/apps/apps/lib/下(不过如果文件已经存在则不要继续操作!)
然后替换掉/opt/upt/apps/apps/usr/sbin/dropbear
最后重启dropbear或者重启光猫,就可以运行了。

(至于怎么把文件传进光猫,有很多种办法,办法之一是安装openssh-sftp-server)

segfault 发表于 2022-7-26 04:24:25

编译输出的ipk文件我也贴上,dropbear和ld-musl-arm.so.1就是从ipk里提取的。

ycjfw 发表于 2022-7-26 16:48:32

这个必须支持,一看就知道是DIY发烧友.

blaketang 发表于 2022-9-4 20:02:10

光猫上的openwrt,楼主有试过,安装科学上网,能实现透明代理吗?

adsluser11 发表于 2022-9-17 10:19:31

正经的免费技术分享没人看,收费的垃圾贴却门庭若市,中文互联网的悲哀

uin 发表于 2022-9-18 22:22:16


大神tcpdump可以编译一个吗?具体怎么编译?求教!这个必须支持!!!!

yjjq 发表于 2022-9-21 23:50:28

虽然看不懂,但必须支持楼主

wwyman 发表于 2023-3-18 11:17:05

支持折腾!!!

shiyunfei 发表于 2023-5-5 11:26:54

很棒的教程,谢谢楼主

mhl1208 发表于 2023-6-1 16:04:13

正经的免费技术分享没人看,收费的垃圾贴却门庭若市,中文互联网的悲哀
页: [1] 2
查看完整版本: 升级华为光猫自带OpenWrt的dropbear SSH服务器