从android作为系统用户运行dropbear ssh服务器

时间:2013-06-03 06:59:02

标签: android sshd

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

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

我可以尝试使用dropbear的替代品吗?

1 个答案:

答案 0 :(得分:0)

我通过安装optware来实现这里的步骤:

Optware公司

我们需要安装optware来管理Android设备内apt-get风格的软件包。当然,我们不会有所有的包,但我们会有足够的。

要安装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指定引号之间的命令(否则它将无效)。 / LI>
    • 您可以在此处查看my file。您可以使用任何合并工具将其与原始文件进行比较,以查看差异。
  5. 运行您修改过的(或不是)./optware-install-via-adb.sh

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

  7. 如果您输入ls /data/opt,您应该看到start.sh(这是 用于optware的bootstrap)

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

  9. 现在制作cd /data/opt

  10. 运行start.sh

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

    Dropbear

    这是一个可用于连接电视盒的SSH服务器。在这里,我假设您刚刚成功运行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
    8. 现在你手中应该有一个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。然后查看 SU 启动网络图标。

      4. 这样,每次重启设备时,start.sh都会获得 用dropbear执行。

      5. 我希望这会以某种方式帮助你,

        祝你好运