「玩机教程」在OpenWrt上通过SSH安装SFTP服务 | 解决OpenClash内核更新问题的一种方法插图

引言

最近在解决 OpenClash 内核更新的问题时,我遇到了一些困难。由于无法通过在线方式直接更新,我开始搜索本地上传文件更新的解决方案。在这个过程中,我尝试使用 FTP 功能,但却遇到了一些问题,下面是我遇到的情况:

cannot read properties of null (reading 'readdir')

这说明 OpenWrt 并没有自带 SFTP 服务,需要手动安装。

安装SFTP服务

针对这个问题,我们可以通过以下步骤在 OpenWrt 上安装 SFTP 服务:

首先,我们需要了解 OpenWrt 使用的是 Dropbear 作为 SSH 管理软件包。这是一个相对轻量级的软件包,主要用于嵌入式系统和小型设备,因此并不包含 OpenSSH 的全部功能集。

检查是否存在SFTP功能

我们可以通过以下命令来检查是否已经存在 SFTP 功能:

cat /etc/ssh/sshd_config | grep sftp

如果不存在,会出现如下报错:

cat: can't open '/etc/ssh/sshd_config': No such file or directory

安装SFTP服务

接下来,我们可以通过以下命令来安装 SFTP 服务:

opkg update
opkg install openssh-sftp-server

重启服务

安装完成后,我们需要重启服务:

/etc/init.d/dropbear restart

然后,重新连接 SSH,再次尝试使用 SFTP,一切应该正常了。

「玩机教程」在OpenWrt上通过SSH安装SFTP服务 | 解决OpenClash内核更新问题的一种方法插图1