dropbear在嵌入式设备上的使用

1. 下载zlib,dropbear

  • wget xxxxxxxxxxx
  • tar -zxvf zlib.tar
  • tar -jxvf dropbear.tar.gz2

2. 交叉编译zlib,dropbear

2.1 交叉编译zlib
  • ./configure --prefix=/usr/local/zlib
  • vim Makefile,修改Makefile文件。

    CC=/xxx/bin/arm-linux-gcc //交叉编译工具的绝对路径
    AR=/xxx/bin/arm-linux-ar
    RANLIB=/xxx/bin/arm-linux-gcc-ranlib
    LDSHARED=/xxx/bin/arm-linux-gcc -shared

  • make
  • make install
  • 若交叉编译成功,/usr/local/dropbear 文件夹中会产生三个文件夹,分别是 bin, sbin, share.
2.2 交叉编译dropbear
  • ./configure --prefix=/usr/local/dropbear --with-zlib=/usr/loca/zlib/ CC=/xxx/bin/arm-linux-gcc --host=arm
  • make PROGRAMS='dropbear dbclient dropbearkey dropbearconvert scp'
  • make PROGRAMS='dropbear dbclient dropbearkey dropbearconvert scp' install
  • 若交叉编译成功,/usr/local/dropbear 文件夹中会产生三个文件夹,分别是 bin, sbin, share.

3. 将交叉编译的dropbearru下的文件迁移到目标板

  • 拷贝到目标板:scp -P 8080 /xxx/dropbear.tar username@ip:dorpbear.tar
  • 创建文件夹:mkdir /etc/dropbear //这个名字是固定的,千万不可变动
  • 生成key,确定加密方式:dropbearkey -t rsa -f dropbear_rsa_host_keydropbearkey -t dss -f dropbear_dss_host_key。若成功,在/etc/dropbear目录下会有2个可执行文件,dropbear_rsa_host_key, dropbear_dss_host_key。

4. 启动dropbear ssh服ru务

  • 启动前:netstat -ntlp 观察端口连接情况。
  • 启动:./dropbear -p 8888
  • 启动后:netstat -ntlp观察端口连接情况,可以看到dropbear程序已经对8888端口处于监听状态。

5. 注意事项:

  • 由于是ssh远程连接,需要输入用户名和密码,如果不知道的话,可以创建一个新的用户。
    • useradd admin //添加用户
    • passwd admin //重置密码
  • 交叉编译过程中,需要用到一些依赖软件包,如 arm-linux-gcc,llibncurses5-dev, zlib1g-dev等。
  • 特别注意,在交叉编译过程中,总是提示‘ recipe for libz.a failed ',折腾了好久,最后找到的解决办法是:首先找到本地的libz.a这个文件目录的地址,然后在/usr/lib里建立了一个连接过去。
    • cd /usr/local && find ./ -name libz.a*
    • cd /usr/lib && ln -s libz.a /xxx/libz.a

你可能感兴趣的:(路由器)