# start_ssh_for_ee47 **Repository Path**: windstarry/start_ssh_for_ee47 ## Basic Information - **Project Name**: start_ssh_for_ee47 - **Description**: 在ee4.7开启ssh和scp功能 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-25 - **Last Updated**: 2026-08-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ee_ssh — EmuELEC 设备 SSH / SCP / SFTP 文件传输方案 ## 项目简介 为运行 **EmuELEC 4.7-Nexus(aarch64)** 的掌机 / 盒子,解决其「仅有 dropbear SSH、无 scp / sftp 文件传输」的问题:通过**重编 dropbear**(把端口目录编入会话 PATH)+ 部署 **scp / sftp-server** 二进制,使 **SSH 与 SCP / SFTP 在开机启动的 dropbear 上同时可用**。客户端可直接用 `scp` / `sftp` / WinSCP(SFTP) 传文件,无需任何额外工具。 - 目标机:`192.168.137.195`,端口 `22`,用户 `root`,密码 `emuelec` - 完整部署说明见 [`scp_enable_plan.md`](./scp_enable_plan.md) --- ## 目录结构 ``` ee_ssh/ ├── dropbear/ # 设备部署包(与 /storage/roms 同构,整体上传) │ ├── ports/dropbear/ │ │ ├── bin/ # 二进制:dropbear(重编)、scp、sftp-server、捆绑库、原版备份 │ │ ├── dropbear_rsa_host_key # 主机密钥(拷贝自 $TARGET_DIR,指纹不变) │ │ └── ... │ └── ports_scripts/DropBear.sh # 改造版启动脚本(含 scp 自检 / 回滚 / DB_PORT 开关) ├── build/ # 构建工作区(仅保留配方,中间产物已 gitignore) │ ├── build.sh # 初版配方(scp + dropbear,含已修正的坑) │ ├── build_sftp.sh # 追加 sftp-server 的探索配方 │ └── build_sftp2.sh # 最终可复现配方(sftp-server 获取 + dropbear 重编) ├── ee-filex.sh # tar-over-ssh 传输工具(put / get) ├── ee-cmd.sh # 远端命令执行工具 ├── SSH Over OTG.sh # EE4.7 适配的 OTG 直连脚本(备件,当前内核不支持) ├── SSH Over OTG.sh.arkos.bak # 原 ArkOS 版备份 ├── scp_enable_plan.md # SSH / SCP / SFTP 部署说明(原规划,现已落地) └── README.md ``` --- ## 快速使用 ```bash # 上传(默认 SFTP 模式,无需 -O) scp -P 22 /本地/路径/文件 root@192.168.137.195:/tmp/ # 下载 scp -P 22 root@192.168.137.195:/tmp/文件 /本地/目录/ # 交互 SFTP sftp -P 22 root@192.168.137.195 ``` **WinSCP**:文件协议选 **SFTP**,主机 `192.168.137.195`、端口 `22`、用户 `root`、密码 `emuelec`。 > 早期临时方案需 `scp -O`(传统 SCP 协议);现已部署 sftp-server,默认 SFTP 即可,老的 `-O` 仍兼容。 --- ## 重新构建(可选) 构建配方见 `build/build_sftp2.sh`,在本地 Docker 镜像内执行: ```bash docker run --rm -v "$PWD/build:/work" \ ghcr.io/monkeyx-net/portmaster-build-templates/portmaster-builder:aarch64-latest \ bash /work/build_sftp2.sh ``` 产物(dropbear / scp / sftp-server + 捆绑库)落到 `build/out/`,再同步进 `dropbear/ports/dropbear/bin/` 并上传设备。 --- ## 部署到设备 ```bash # 用仓库辅助脚本免交互上传(密码走 EE_PASS 环境变量) EE_PASS=emuelec bash ee-filex.sh put dropbear/ports/dropbear/bin/ /storage/roms/ports/dropbear/bin/ ``` 详细编译要点、部署步骤与实机验证结果见 [`scp_enable_plan.md`](./scp_enable_plan.md)。 --- ## 注意事项 - 设备根分区只读(squashfs),部署物均在 `/storage`(ext4) 与 `/storage/roms`(vfat),已规避执行位坑。 - 当前内核缺 USB 网络 gadget(RNDIS/ECM 未编译、USB `dr_mode=host`),故 `SSH Over OTG.sh` 暂不可用,留作备件;日常走网络 SSH/SCP/SFTP。 - Windows 宿主书写 shell 脚本须 LF-only,仓库 `.gitattributes` 已强制 `*.sh` 走 LF,避免 `/bin/sh: bad interpreter` 错误。 - 设备 `/etc/shadow` 副本(`dropbear/ports/dropbear/shadow`)与运行日志已加入 `.gitignore`,不入库。