ssh服务Dropbear移植到Android系统步骤

ssh服务Dropbear移植到Android系统步骤

1.背景

    两个嵌入式设备之间实现文件传输,一个是linux系统,一个是Android系统。
    Linux系统基本都自带开源组件ssh服务,但是Android端就比较费劲了,需要自己做移植。

2.资料搜集

 搜集两篇参考性比较强的文章,
 https://www.cnblogs.com/moeyard/articles/8727730.html
 https://www.cnblogs.com/libertycode/p/9024398.html
 感谢这两位前辈的思路总结
 这个网址上面的百度网盘提供的dropbear源码download下来后我这边编译尝试一直失败,最后放弃了,只能直接从github上下载源码开始了自己的交叉编译

3.开始编译

1.编译步骤参考github地址https://github.com/ubiquiti/dropbear-android
感谢这个哥们提供现成的编译脚本build-dropbear-android.sh,以及详细说明了移植步骤

2.dropbear版本准备,从github,https://github.com/mkj/dropbear/tags上找到对应的tag版本

3.android-toolchain准备,Android源码中的prebuild路径下虽然有现成的编译工具链,但是那个里面是没有中间产物,所以不能作为build-dropbear-android.sh中的CC编译配置。
  只能自己重新去编译一个工具链~编译参照https://blog.csdn.net/manshilingkai/article/details/22619855?utm_source=blogxgwz3

4.修改build-dropbear-android.sh,根据自己的编译环境以及Android的版本,我这边修改的编译配置如下,  
   HOST = aarch64-linux-android     
   COMPILER = ${TOOLCHAIN}/bin/aarch64-linux-android-gcc    
   STRIP =  ${TOOLCHAIN}/bin/aarch64-linux-android-strip    
   SYSROOT= ${TOOLCHAIN}/sysroot

5. ./build-dropbear-android.sh 执行脚本后,成功在dropbear-android-2018.76\target\arm下生成要用的dropbear dropbearkey scp 文件

4.开始测试

目前只成功验证了使用秘钥的无密码登录方式,密码登录的方式没有验证成功
Android端的操作:
  1.将dropbear dropbearkey scp文件push到Android系统内,并给予执行权限 
  2.dropbearkey 生成一个自己的rsa文件 dropbearkey -t rsa -f /mnt/sdcard/dropbear/dropbear_rsa_host_key
  3.拉起dropbear服务   
    export HOME=/mnt/sdcard/dropbear/
    dropbear  -F -r $HOME/dropbear_rsa_host_key -T $HOME/id_rsa.pub -D  $HOME -p 2022 -A
    参数说明: -F前台运行  ,-r指定一个自己的秘钥, -T指定linux端登录访问的公钥, -p指定端口 
    
Linux端的操作:
   使用ssh-keygen -t rsa 指令生成秘钥和公钥,公钥push到Android系统里面,即dropbear启动参数里面的-T $HOME/id_rsa.pub  ,秘钥用ssh-add 添加到Linux的ssh list中

文件传输操作:
   将两个嵌入式设备连接到同一个局域网内,然后用ifconfig取得Android的ip地址(192.168.1.101),在Linux端使用以下指令
   登录服务: ssh 192.168.1.101
   Linux发送文件到Android端:scp -P 2022  /home/test/1.text  192.168.0.101:/mnt/sdcard/dropbear/
   Linux下载Android端的文件:scp -P 2022  192.168.0.101:/mnt/sdcard/dropbear/2.txt  /home/test

附带整合好的资源下载:https://download.csdn.net/download/weixin_40901946/14910849

猜你喜欢

转载自blog.csdn.net/weixin_40901946/article/details/112860276
今日推荐