我创建了一个自定义 rom,我想从系统(签名)服务运行 dropbear ssh 服务器(为了获得系统用户权限),但是无论我尝试什么命令,在从 ssh 客户端(putty)输入密码后它只是断开连接。
甚至可以将 ssh 服务器作为系统运行吗?
有没有我可以尝试的 dropbear 的替代品?
我通过安装 optware 来做到这一点,步骤如下:
我们需要安装 optware 以在我们的 android 设备中以 apt-get 样式管理包。当然,我们不会拥有 apt 拥有的所有软件包,但我们会拥有足够的。
要安装 optware,我们需要以调试模式访问我们的设备,这样我们就可以访问控制台并运行 optware 安装脚本。
为此,
device-id:5555
.将以下内容添加到 PATH 系统变量:
/folder_where_you_untar_adt/sdk/platform-tools
adb shell
在引号之间指定命令(否则它将不起作用)。运行您修改的(或不运行)./optware-install-via-adb.sh
运行adb shell
此命令会打开您设备的外壳
如果您键入ls /data/opt
,您应该会看到一个start.sh
(这是 optware 的引导程序)
如果您不查看 optware 脚本输出,则会出现一些错误(主要与无法通过 adb 或其他方式执行的某些命令有关)。
现在做cd /data/opt
跑start.sh
这应该向您显示一个控制台,您可以在此处键入ipkg list
以查看可用的软件包。
这是一个 SSH 服务器,可用于连接到您的 TV BOX。在这里,我假设您刚刚start.sh
成功运行。因此,在您的 BusyBox(控制台)中执行以下操作:
ipkg install dropbear
-- 安装 dropbeardropbearkey -t rsa -f dropbear_rsa_host_key
dropbearkey -t rsa -f id_rsa
dropbearkey -f id_rsa -y > id_rsa.pub
mkdir /data/dropbear/.ssh
cat id_rsa.pub > /data/dropbear/.ssh/authorized_keys
dropbearconvert dropbear openssh id_rsa id_rsa_openssh
dropbear -r /data/dropbear/dropbear_rsa_host_key -E -s
id_rsa
并id_rsa_openssh
给您的客户ssh -i id_rsa_openssh root@your.tv.box.ip
现在你应该有一个busybox提示在你的手中
为确保每次重新启动引导程序都执行,您必须:
/data/opt/start.sh
通过在行前添加修改/bin/sh
:
dropbear -r /data/dropbear/dropbear_rsa_host_key -E -s
安装应用脚本管理器
在脚本管理器中单击 - 菜单 - 脚本 - 浏览器并导航到文件 /data/opt/start.sh。然后检查SU、Boot和Net图标。
这样,每次您的设备重新启动时,start.sh
都会在 dropbear 上执行。
我希望这对你有所帮助,
此致