使用 Yocto 固件上的 Dropbear 服务器使用 sshfs 挂载文件系统

使用 Yocto 固件上的 Dropbear 服务器使用 sshfs 挂载文件系统

我使用 Yocto 为嵌入式板构建了固件。 ssh 服务器 Dropbear 似乎已启动并正在运行并且工作正常。我可以使用 root 用户登录,无需密码。尽管如此,我无法使用 sshfs 从 Ubuntu 桌面挂载文件系统。在桌面上我得到:

sudo sshfs -o allow_other [email protected]:/ /mountpoint
remote host has disconnected

在 Poky 中,我可以在 /var/log/messages 中看到:

May  7 00:25:37 raspberrypi3 authpriv.info dropbear[537]: Child connection from 10.42.0.1:48010
May  7 00:25:38 raspberrypi3 authpriv.notice dropbear[537]: Auth succeeded with blank password for 'root' from 10.42.0.1:48010
May  7 00:25:38 raspberrypi3 authpriv.info dropbear[537]: Exit (root): Disconnect received

是否有可能以某种方式增加冗长程度?我尝试在 /etc/default/dropbear 中添加“verbose = 1”,但这可能是错误的,因为服务器甚至不再启动。也许 dropbear 根本不支持 sshfs ?

答案1

至于您尝试使用 Dropbear 进行 SSHFS:问题是 SSHFS 需要 SFTP,而 Dropbear 仅支持 SCP。

所以调试没有太多意义为什么它正在发生。

来自 dd-wrt ​​维基:https://www.dd-wrt.com/wiki/index.php/Sshfs

由于 Dropbear(默认 ssh 服务器)显然不支持 sshfs,因此您需要安装并运行 Openssh。

事实上,正如您所怀疑的那样,Dropbear 并不支持 SSHFS。

PS 为了其他读者的利益,Dropbear 是广泛用于嵌入式系统/路由器/物联网的 OpenSSH 的轻量级替代品。

答案2

SSHFS使用SFTP,而Dropbear不提供SFTP。因此,当您尝试使用它时,Dropbear 服务器会看到对其无法理解的子系统的请求,并会断开连接。

您可以为 Dropbear 提供 SFTP 服务器,例如来自 OpenSSH 的服务器。 (或者您可以将 Dropbear 完全替换为 OpenSSH,但您不必这样做。)您需要找到一个sftp-server在您的系统上运行的二进制文件,即为您系统上的体系结构和标准库编译的二进制文件。在 Yocto 上,包中的可执行文件openssh-sftp-server应该可以与 Dropbear 一起使用,但我还没有检查包管理是否有效。

相关内容