【问题标题】:run dropbear ssh server from android as system user以系统用户身份从 android 运行 dropbear ssh 服务器
【发布时间】:2014-01-25 18:39:17
【问题描述】:

我创建了一个自定义 rom,我想从系统(签名)服务运行 dropbear ssh 服务器(为了获得系统用户权限),但是无论我尝试什么命令,在从 ssh 客户端(putty)输入密码后) 它只是断开连接。

甚至可以将 ssh 服务器作为系统运行吗?

我可以试试 dropbear 的替代品吗?

【问题讨论】:

    标签: android sshd


    【解决方案1】:

    我是通过安装 optware 做到的,步骤如下:

    光件

    我们需要安装 optware 以在我们的 android 设备中以 apt-get 样式管理包。当然,我们不会拥有 apt 拥有的所有包,但我们会拥有足够的。

    要安装 optware,我们需要以调试模式访问我们的设备,这样我们就可以访问控制台并运行 optware 安装脚本。

    为此,

    1. 在您的设备中安装WIFI ADB 并运行它,它将可以通过device-id:5555 访问。
    2. 转到与设备连接到同一网络的 linux(Debian、Ubuntu...)PC 并下载最后一个 Google ADT(下载适合您的 linux 平台的那个)
    3. 将以下内容添加到 PATH 系统变量中:

       /folder_where_you_untar_adt/sdk/platform-tools
      
    4. 现在下载optware script for android

      • 由于无法识别的命令,此脚本无法立即为我工作
      • 我做了一些修改,例如删除了一些控件(我不关心文件存在错误)并修改了一些函数和对 adb shell 的调用,在引号之间指定了命令(否则它将不起作用)。
      • 在这里你可以看到my file。您可以使用任何合并工具将其与原始文件进行比较以查看差异。
    5. 运行修改后的(或不运行)./optware-install-via-adb.sh

    6. 运行 adb shell 这将打开一个外壳到您的设备

    7. 如果您输入ls /data/opt,您应该会看到start.sh(这是 optware 的引导程序)

    8. 如果您不查看 optware 脚本输出,则会出现一些错误 (主要与无法通过 adb 执行的某些命令或 东西)。

    9. 现在让cd /data/opt

    10. 运行start.sh

    这应该会显示一个控制台,您可以在此处输入 ipkg list 以查看您可用的包。

    滴熊

    这是一个 SSH 服务器,可用于连接到您的 TV BOX。在这里,我假设您刚刚成功运行了start.sh。因此,在您的 BusyBox(控制台)中执行以下操作:

    1. 输入ipkg install dropbear -- 安装dropbear
    2. 然后生成服务器密钥:dropbearkey -t rsa -f dropbear_rsa_host_key
    3. 现在我们将生成一个密钥/对以从 ssh 客户端进行连接。这个 是必要的,因为您的 android 中的 root 用户没有 密码。
      • 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
    4. 还将私钥转换为与 openssh 兼容的格式
      • dropbearconvert dropbear openssh id_rsa id_rsa_openssh
    5. 运行dropbear -r /data/dropbear/dropbear_rsa_host_key -E -s
    6. 现在将id_rsaid_rsa_openssh 复制给您的客户
    7. 如果您在客户端中使用 openssh,请键入
      • ssh -i id_rsa_openssh root@your.tv.box.ip

    现在你应该有一个busybox提示符

    重启脚本

    为确保每次重新启动引导程序都执行,您必须:

    1. 修改/data/opt/start.sh,在/bin/sh行前添加:

       dropbear -r /data/dropbear/dropbear_rsa_host_key -E -s
      
    2. 安装应用Script Manager

    3. 在脚本管理器中单击 - 菜单 - 脚本 - 浏览器并导航到 文件 /data/opt/start.sh。然后检查 SUBootNet 图标。

    4. 这样,每次您的设备重新启动时,start.sh 都会得到 使用 dropbear 执行。

    我希望这对您有所帮助,

    最好的问候

    【讨论】:

      猜你喜欢
      • 2023-03-31
      • 2016-12-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-12
      • 1970-01-01
      • 2018-12-12
      • 1970-01-01
      相关资源
      最近更新 更多