dropbear ssh服务移植到arm9开发板

 

昨天用了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目录下,这个目录可以随便定义,不是关键

[cpp]  view plain  copy
  1. mkdir source package   //创建目录  
  2.   
  3. mkdir package/zlib   //创建zlib目录  
  4.   
  5. mv zlib-1.2.7.tar.gz dropbear-2013.56.tar.bz2 ./source   //将zlib移动到source文件夹  
  6.   
  7. cd source    
  8.   
  9. tar -zxvf  dropbear-2013.56.tar.bz2  //解压  
  10.   
  11. tar -zxvf  zlib-1.2.7.tar.gz        


3、编译zlib

 

[cpp]  view plain  copy
  1. ./configure --prefix=/root/Hi3515/EmbSSH/package/zlib   


 

4、修改Makefile

[cpp]  view plain  copy
  1. CC=/opt/hisi-linux/x86-arm/gcc-3.4.3-uClibc-0.9.28/bin/arm-hisi-linux-gcc   
  2. AR=/opt/hisi-linux/x86-arm/gcc-3.4.3-uClibc-0.9.28/bin/arm-hisi-linux-ar   
  3. CPP =/opt/hisi-linux/x86-arm/gcc-3.4.3-uClibc-0.9.28/bin/arm-hisi-linux-gcc -E   
  4. LDSHARED=/opt/hisi-linux/x86-arm/gcc-3.4.3-uClibc-0.9.28/bin/arm-hisi-linux-gcc  

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

5、编译,安装


[cpp]  view plain  copy
  1. make    //编译  
  2.   
  3. make install //安装到你前面prefix指定的目录中  


 6、编译dropbear

回到source目录

[cpp]  view plain  copy
  1. cd dropbear-2013.56  //进到dropbear源码包中  
  2.   
  3. ./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、编译

[cpp]  view plain  copy
  1. make  


  

     make scp

其中的scp需要单独编译,然后用把编译好的scp复制到build/bin目录下
这样就可以通过scp把客户端的数据拷贝到服务器了

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

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

注意要修改权限才能执行

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

 

9、配置dropbear

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

[cpp]  view plain  copy
  1. cd /etc  
  2.   
  3. mkdir dropbear  
  4.   
  5. cd dropbear  
  6.   
  7. dropbearkey -t rsa -f dropbear_rsa_host_key  
  8.   
  9. dropbearkey -t dss -f dropbear_dss_host_key  

 

10.启动dropbear
[cpp]  view plain  copy
  1. 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 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值