将dropbear SSH移植到arm9开发板

来源:互联网 发布:cnc数控编程 编辑:程序博客网 时间:2024/06/02 13:58

昨天用了openSSH,做了个移植,无奈生成的文件太大,生成的二进制程序大概15M的样子,整个Flash都装不下所以不适合一般的嵌入式设备。

恰巧今天同事提到了dropbear,这个可是个好东西,大家可以百度一下,他是个轻量级的SSH服务器,非常适合安装到嵌入式设备中,我编译出来

总共才500多K,很满意。废话不说,上教程

 

设备:Hi3515 Demo单板(海思的视频开发板)

Host:Ubuntu10.04

交叉编译环境:Hi3515_SDK_V1.0.8.0

 

1、先下载源文件

dropbear:https://matt.ucc.asn.au/dropbear/releases/dropbear-2013.56.tar.bz2  

zlib-1.2.7:http://zlib.net/zlib-1.2.7.tar.gz

交叉编译环境自己配置,这个不具有统一性,每个设备的交叉编译环境都不同,固不叙述教程,我已经安好了Hi3515的开发环境。

2、解压文件:

将下载到的源码保存到一个文件夹下,我保存到了/root/Hi3515/EmbSSH目录下,这个目录可以随便定义,不是关键

mkdir source package   //创建目录mkdir package/zlib   //创建zlib目录mv zlib-1.2.7.tar.gz dropbear-2013.56.tar.bz2 ./source   //将zlib移动到source文件夹cd source  tar -zxvf  dropbear-2013.56.tar.bz2  //解压tar -zxvf  zlib-1.2.7.tar.gz      


3、编译zlib

 

./configure --prefix=/root/Hi3515/EmbSSH/package/zlib 


 

4、修改Makefile

CC=/opt/hisi-linux/x86-arm/gcc-3.4.3-uClibc-0.9.28/bin/arm-hisi-linux-gcc AR=/opt/hisi-linux/x86-arm/gcc-3.4.3-uClibc-0.9.28/bin/arm-hisi-linux-ar CPP =/opt/hisi-linux/x86-arm/gcc-3.4.3-uClibc-0.9.28/bin/arm-hisi-linux-gcc -E LDSHARED=/opt/hisi-linux/x86-arm/gcc-3.4.3-uClibc-0.9.28/bin/arm-hisi-linux-gcc

注意:这里的CC AR CPP LDSARED这几个参数就是改成你的交叉编译环境中的编译器,最好是使用绝对路径,当然如果你的交叉编译环境已经加载到环境变量中,可以使用相对路径,但是还是推荐绝对路径,虽然写起来麻烦点,但是安全可靠。

5、编译,安装


make    //编译make install //安装到你前面prefix指定的目录中


 6、编译dropbear

回到source目录

cd dropbear-2013.56  //进到dropbear源码包中./configure --with-zlib=/root/Hi3515/EmbSSH/package/zlib CC=/opt/hisi-linux/x86-arm/gcc-3.4.3-uClibc-0.9.28/bin/arm-hisi-linux-gcc AR=/opt/hisi-linux/x86-arm/gcc-3.4.3-uClibc-0.9.28/bin/arm-hisi-linux-ar --host=arm-linux   //配置makefile


 

7、编译

make


8、到这,编译工作就已经结束了。接下来将编译之后生成的文件文件移植到开发板中

将dropbear目录下面的dbclient,dropbear,dropbearconvert,dropbearkey四个文件复制到开发板的/bin目录下或者/sbin目录下

将package/zlib目录下的libz.so.1和libz.so.1.2.7复制到开发板的/lib目录下,这个库文件必须要拷贝,不然的话,程序不能运行

 

9、配置dropbear

这里要在开发板中进行配置,通过串口打开中终端

cd /etcmkdir dropbearcd dropbeardropbearkey -t rsa -f dropbear_rsa_host_keydropbearkey -t dss -f dropbear_dss_host_key

 

10.启动dropbear
dropbear -p 22  //监听22端口,通常ssh默认都是22端口

11.帮助
通过dropbear -h可以查看帮助选项
 
12.说明
安装dropbear的时候,生成了dbclient,dropbearkey和dropbearconvert
其中:
Dropbearkey是用来生成公钥的,
Dropbearconvert是用来与openssh转换的
Dbclient可以用来连接远程的服务器
 
Dbclient的用法,例如
#./dbclient username@192.168.99.214