ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

RK3588 Buildroot 系统下 MobaXterm SSH-browser 无法连接问题处理记录

RK3588 Buildroot 系统下 MobaXterm SSH-browser 无法连接问题处理记录 问题SSH 终端可以登录板子但 MobaXterm 的 SSH-browser 经常无法连接导致无法通过图形界面上传文件。最终有效解决办法在 MobaXterm 的 Session settings 中将SSH-browser type从SFTP protocol改为SCP normal speed。修改后SSH-browser 可以正常 connect并且可以正常上传文件到 RK3588 板子。一、现象和环境项目内容板子RK3588主机名示例rk3588-AVPlayOut系统Buildroot 系统电脑端工具MobaXterm Personal 25.4SSH 服务Dropbear启动脚本为/etc/init.d/S50dropbear问题表现SSH 终端能登录但 MobaXterm 的 SSH-browser 偶尔无法 connect无法通过图形界面上传文件。最终结果把SSH-browser type改成SCP normal speed后文件浏览器和上传恢复正常。二、排查结论本次排查确认板子端不是完全没有 SFTP 服务。板子上存在/usr/libexec/sftp-server且它指向gesftpserverDropbear 二进制中也能看到/usr/libexec/sftp-server路径。gesftpserver本身有执行权限并且可以正常输出帮助信息。因此问题不应继续定位为“板子没有 sftp-server”而更接近于 MobaXterm 的 SSH-browser 在 SFTP 模式下与当前 Buildroot Dropbear gesftpserver 组合存在兼容性或认证流程不稳定。find / -name sftp-server 2/dev/null # 输出/usr/libexec/sftp-server ls -l /usr/libexec/sftp-server # 输出/usr/libexec/sftp-server - gesftpserver ls -l /usr/libexec/gesftpserver # 输出-rwxr-xr-x ... /usr/libexec/gesftpserver /usr/libexec/gesftpserver -h 21 | head # 可以正常输出 Usage 和 Options三、不要被 sshd_config 误导板子上虽然存在/etc/ssh/sshd_config并且里面有Subsystem sftp /usr/libexec/sftp-server但当前实际运行的 SSH 服务是 Dropbear不是 OpenSSHsshd。因此/etc/ssh/sshd_config对当前 Dropbear 服务不一定生效。真正关键的是 Dropbear 是否支持 SFTP subsystem以及 MobaXterm 使用哪一种 SSH-browser 传输模式。grep -n Subsystem /etc/ssh/sshd_config 2/dev/null # 1:Subsystem sftp /usr/libexec/sftp-server ls /etc/init.d/ | grep -i ssh\|dropbear # S50dropbear strings $(which dropbear) | grep -i sftp # 能看到/usr/libexec/sftp-server四、关键解决步骤在 MobaXterm 中编辑对应的 RK3588 SSH Session而不是只改全局设置。路径如下打开 MobaXterm。在左侧Saved sessions中找到 RK3588 对应的 SSH Session。右键该 Session选择Edit session。进入SSH页面。打开Advanced SSH settings。找到SSH-browser type。将其从SFTP protocol改为SCP normal speed。点击OK保存并重新连接。关键点不是关闭 SSH-browser也不是修改板子上的sshd_config。本次真正生效的设置是SSH-browser type SCP normal speed。Session settings - SSH - Advanced SSH settings 中的 SSH-browser type 下拉框。把这里从 SFTP protocol 改成 SCP normal speed。五、推荐最终配置设置项推荐值Remote host板子 IP例如192.168.31.13Specify username勾选用户名填写rootPort22Remote environmentInteractive shellSSH-browser typeSCP normal speedX11-Forwarding不需要时可取消勾选Compression不需要时可取消勾选Try to follow SSH path in browser不稳定时建议先取消勾选六、全局配置建议在Settings - Configuration - SSH页面中可以做以下简化设置以减少认证阶段卡顿或额外功能干扰全局项建议Enable graphical SSH-browser保留勾选GSSAPI Kerberos普通嵌入式板子一般不需要建议取消勾选SSH keepalive可以勾选适合长时间连接Automatically switch to SSH-browser tab after login按个人习惯保留或取消都可以七、为什么 SCP normal speed 能解决MobaXterm 的图形 SSH-browser 需要额外建立一个文件传输连接。使用SFTP protocol时它依赖 SSH subsystem 方式启动sftp-server。当前板子虽然具备gesftpserver但在 MobaXterm SFTP browser 模式下仍可能出现认证超时或兼容性问题。切换到SCP normal speed后MobaXterm 不再使用同样的 SFTP browser 流程而是使用更简单、更传统的 SCP 方式进行文件浏览和传输。对 Buildroot Dropbear 这类嵌入式系统SCP normal speed往往更稳定。本次实际验证结果也证明改为SCP normal speed后SSH-browser 能正常 connect并且上传文件到板子成功。八、后续备用上传方式如果以后 MobaXterm 图形界面再次异常可以直接在 Windows PowerShell 或 MobaXterm local terminal 中使用scp命令上传。scp -O C:\Users\你的用户名\Desktop\文件名 root板子IP:/root/ # 示例 scp -O C:\Users\cuijc\Desktop\gst-test.tar.gz root192.168.31.13:/root/其中-O表示强制使用传统 SCP 协议适合应对某些嵌入式系统缺少或不兼容 SFTP 的情况。九、简明复现/处理清单确认 SSH 终端能登录板子说明 SSH 服务本身正常。确认板子实际使用 Dropbear/etc/init.d/下看到S50dropbear。确认/usr/libexec/sftp-server存在并指向gesftpserver。确认gesftpserver有执行权限且/usr/libexec/gesftpserver -h能输出帮助。如果 MobaXterm 的 SSH-browser 使用SFTP protocol仍不稳定不继续纠结板子端。在Session settings - SSH - Advanced SSH settings中将SSH-browser type改为SCP normal speed。重新连接验证 SSH-browser 能 connect并测试上传文件。最终结论当前问题的关键解决点是 MobaXterm 客户端 Session 设置SSH-browser type从SFTP protocol改成SCP normal speed。板子端 Dropbear、sftp-server/gesftpserver基本正常不需要优先重编 Buildroot 或替换 OpenSSH。
返回列表