我使用 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 一起使用,但我还没有检查包管理是否有效。