Dropbear 是一套来自澳大利亚的 *nix SSH 工具集,以体积微小著称,因此在嵌入式环境被广泛中使用。

1. 编译 dropbear

$ wget %7Ematt/dropbear/releases/dropbear-0.52.tar.gz

$ wget

$ tar zxvf dropbear-0.52.tar.gz

$ cd dropbear-0.52

$ patch -p1 < ../dropbear0.52-android.patch

patching file common-session.c

patching file loginrec.c

patching file runopts.h

patching file svr-auth.c

patching file svr-authpasswd.c

patching file svr-authpubkey.c

patching file svr-chansession.c

patching file svr-runopts.c

1) zlib support

所使用的编译器未有zlib库支持,因此需要先未其增加zlib支持,/home/install为交叉编译器所在目录。

$ ls -l /home/install

lrwxrwxrwx 1 root root 54 2009-11-28 10:50 /home/install -> /home/goosen/works/buildroot/build_arm/staging_dir/usr

$ ./configure --prefix=/home/install

$ make CC=arm-linux-gcc

$ make install

2) 静态编译 dropbear

$ cd dropbear-0.52/

$ ./configure --host=arm-linux

//$ STATIC=1 make PROGRAMS="dropbear dropbearkey"

$ STATIC=1 make

2. 配置 dropbear

1) generate keys

~ $: adb shell

# mkdir /data/dropbear

# dropbearkey -t rsa -f /data/dropbear/dropbear_rsa_host_key

# dropbearkey -t dss -f /data/dropbear/dropbear_dss_host_key

2) start dropbear

# dropbear -h

Dropbear sshd v0.52

Usage: dropbear [options]

Options are:

-A Android Mode, specify a user explicitly

-N Android Mode, user name

-C Android Mode, password

-R Android Mode, public key file (authorized_keys)

-U Android Mode, UID

-G Android Mode, GID

-b bannerfile    Display the contents of bannerfile before user login

(default: none)

-d dsskeyfile    Use dsskeyfile for the dss host key

(default: /etc/dropbear/dropbear_dss_host_key)

-r rsakeyfile    Use rsakeyfile for the rsa host key

(default: /etc/dropbear/dropbear_rsa_host_key)

-F        Don't fork into background

-E        Log to stderr rather than syslog

-m        Don't display the motd on login

-w        Disallow root logins

-s        Disable password logins

-g        Disable password logins for root

-j        Disable local port forwarding

-k        Disable remote port forwarding

-a        Allow connections to forwarded ports from any host

-p [address:]port

Listen on specified tcp port (and optionally address),

up to 10 can be specified

(default port is 22 if none specified)

-P PidFile    Create pid file PidFile

(default /var/run/dropbear.pid)

-i        Start for inetd

-W (default 24576, larger may be faster, max 1MB)

-K (0 is never, default 0)

-I (0 is never, default 0)

# ln -s /data/dropbear /etc/dropbear

# dropbear -E

让android启动的时候自动启动 dropbear, 编辑 /init.rc,增加,

#dropbear start

service dropbear /system/sbin/dropbear -E

oneshot

3) connect (u can use dyndns from market to get a domain name )

$ ssh root@yourdomain.dyndns.org

# cat /home/root/.profile

PATH=/usr/bin:/usr/sbin:/bin:/sbin:/system/sbin:/system/bin:/system/xbin:/data/local/bin

export PATH

# ps | grep 'dropbear'

797 root       436 S    /system/sbin/dropbear -E

973 root       492 S    /system/sbin/dropbear -E

984 root       492 S    /system/sbin/dropbear -E

1036 root      3044 S    grep dropbear

注,此处是~/.profile文件(默认环境变量),而不是~/.bashrc。不过/data/dropbear/.profile 未起作用,暂时不明。

3. 碰到的问题及解决方法

1)为用户设置密码出现,

# passwd root

passwd: unknown uid 0

修改 /etc/passwd 如下,

/ # cat /etc/passwd

#root:x:1000:1000:Linux User,,,:/home/root:/bin/sh

root:x:0:0:Linux User,,,:/home/root:/bin/sh

2)登录的时候dropbear提示,

user 'root' has invalid shel

确保/etc/passwd与/etc/shells中shell的设置一致,

# cat /etc/shells

#/system/bin/sh

/bin/sh

源码、补丁及参考的相关文档如下,

http://blog.csdn.net/tekkamanitachi/archive/2009/06/26/4300854.aspx

~matt/dropbear/releases/dropbear-0.52.tar.gz

http://blog.linjian.org/articles/dropbear-pam-patch/

阅读(1241) | 评论(0) | 转发(0) |

android dropbear 密码,[Android]dropbear on android相关推荐

  1. android dropbear 密码,Android移植之dropbear

    Android移植之dropbear 1.需求 Android虽然提供了ADB,但还是没有ssh,scp等用起来顺手,所以想移植一个ssh的Server到开发板上去,因为android默认的代码有ex ...

  2. android dropbear 密码,Android 利用dropbear工具 配置ssh服务

    1.下载dropbear 将下载的dropbear文件夹放在external文件夹下, 源码地址:https://pan.baidu.com/s/1kV9gmEj 提取码: 4mk6. 感谢这位csd ...

  3. Android 记住密码和自动登录界面的实现(SharedPreferences 的用法)(转载)

    SharedPreferences介绍: SharedPreferences是Android平台上一个轻量级的存储类,主要是保存一些常用的配置参数,它是采用xml文件存放数据的,文件存放在" ...

  4. Android EditText密码框的可见性设置

    Android EditText密码框的可见性设置 最近写安卓时要实现密码可见性转换,经过查找资料后发现了两种方法可以实现. 方法一 通过setInputType()方法实现 passwordEdit ...

  5. android确认密码代码,Android手机卫士之确认密码对话框

    本文接着实现"确认密码"功能,也即是用户以前设置过密码,现在只需要输入确认密码 布局文件和<Android 手机卫士--设置密码对话框>中的布局基本类似,所有copy一 ...

  6. android 自定义 黑点,Android自定义密码样式 黑点转换成特殊字符

    本文为大家分享了Android自定义密码样式的制作代码,黑点换成¥.%等特殊字符,供大家参考,具体内容如下 复制下面代码即可: 布局: xmlns:android="http://schem ...

  7. Android WIFI密码查看器实例(在获取Root权限下查看系统文件)

    Android WIFI密码查看器实例 实现原理:使用shell命令查看保存WIFI密码的系统文件 涉及的知识 界面展示 基本的Shell命令 shell查看WIFI密码 ShellUtil的使用 正 ...

  8. Android手势密码探索

    Android 智能手机在全球市场有着极高的市场占有率,越来越受到广大消费者的青睐.但 Android 作为开源操作系统,且很容易可以获得系统 root 权限,Android 系统的安全问题也是用户和 ...

  9. 谈谈关于Android迷宫密码破解

    近日在看雪坛子上闲逛,注意到了一篇帖子,提到了关于Android的密码破解. 可能有些人没有看到,我就重复的说一下了. 首先Android图形解锁有三个要求: 1.至少四个点 2.最多九个点

最新文章

  1. [19/03/30-星期六] IO技术_四大抽象类_ 字节流( 字节输入流 InputStream 、字符输出流 OutputStream )_(含字节文件缓冲流)...
  2. 用命令行方式获取打包签名文件的SHA1和MD5
  3. 用Spring Security实现后台登录及权限认证功能
  4. Hive-Based Registry使用
  5. 如何加快 Node.js 应用的启动速度
  6. springmvc+swagger构建Restful风格文档
  7. git 修改已提交的 commit
  8. 查看表的记录最多的sqll
  9. java中double类型占几个字节_Java基本数据类型占用字节数
  10. Junit单元测试——如何正确测试异常
  11. 关于南宁市教育云网站的网课视频链接blob加密破解
  12. php 时间 增加天数,php实现当前时间加天数的方法
  13. 关于axure的 中继器表格合计功能
  14. 函数 单片机glint_为什么用单片机写的自锁开关程序,把开关放到P0.0脚后LED就开始闪烁?...
  15. 北邮计算机基础题目,北邮网络教育学院计算机基础题目.doc
  16. Vivado中Global和Out-of-context(OOC)综合模式
  17. 哥德巴赫猜想“1+1″的证明(李扩继)
  18. linux5.8关闭屏幕保护,chia linux
  19. 深入探讨:linux中遍历文件夹下的所有文件
  20. 虚引用(PhantomReference)

热门文章

  1. Google Blink开发者大会浅议
  2. python 人工智能的开启
  3. Python简单爬虫,爬取图片
  4. QCC51XX---Ellisys Bluetooth Analyzer 抓取步骤
  5. php没人用了,PHP 过时了吗?我大学老师说现在没人用 PHP 了
  6. 三折页设计尺寸的制作要素宣传册平面印刷
  7. Global Illumination_Voxel Area Lighting (VXAL)
  8. AtCoder Beginner Contest 233
  9. Entity Framework Core
  10. 【分享】集简云微信公众号助手无需代码连接Notion的方法