Remote System Explorer之DropBear移植
DS-5的Remote System Explorer是基于SSH协议的,因此必须移植SSH到ARM Linux上。对嵌入式系统来时,openssh的功能是足够了,但是相对比较大。在空间受限的情况下,选择dropbear还比较好。dropbear是一个轻量级的ssh2服务器和客户端,动态编译在170K左右,远远小于openssh的1.4M。
下载
zlib-1.2.3:
tar zxvf zlib-1.2.3.tar.gz -C .
cd zlib-1.2.3/
./configure --shared --prefix=~/sftp/pack/zlib
修改Makefile:
CC=gcc 改为:
CROSS=/usr/local/arm/3.4.1/bin/arm-linux-
CC=$(CROSS)gcc
LDSHARED=gcc -shared -Wl,-soname,libz.so.1 改为:LDSHARED=$(CROSS)gcc -shared -Wl,-soname,libz.so.1
CPP=gcc -E 改为:CPP=$(CROSS)gcc -E
AR=ar rc 改为:AR=$(CROSS)ar rc
然后: make;make install
DropBear
首先解压源码包,然后进入目录
./configure之后,修改Makefile。修改时要注意修改如下选项:
prefix=/home/armlinux/dropbear
CROSS=/usr/local/arm/3.4.1/bin/arm-linux-
CC=$(CROSS)gcc
AR=$(CROSS)ar
RANLIB=$(CROSS)ranlib
STRIP=$(CROSS)strip
CFLAGS=-I. -I$(srcdir) -I$(srcdir)/libtomcrypt/src/headers/ $(CPPFLAGS) -Os -W -Wall - I/home/armlinux/fs/utilities/ssh/zlib-1.2.3
LIBS=$(LTC) $(LTM) -lutil -lz -lcrypt
LDFLAGS=-L/home/armlinux/fs/utilities/ssh/zlib-1.2.3
其中zlib头文件和库的路径,交叉编译器的路径都要根据自己的情况进行修改。完成后交叉编译,但是不要安装。
生成的文件:
dropbear: ssh2 server
dropbearkey: 密钥生成器
dropbearconvert: 可以转换openssh的密钥
dbclient: ssh2 client
把上述文件放到target board的/usr/sbin目录下,然后建立配置目录:
mkdir /etc/dropbear;
cd /etc/dropbear,
最后利用dropbearkey来生成密钥:
dropbearkey -t rsa -f dropbear_rsa_host_key,
dropbearkey -t dss -f dropbear_dss_host_key。
启动服务器:#dropbear -E
连接
在DS-5的Remote Systems view中新建一个连接
选择SSH Only
在host name中输入IP地址或计算机名,下面两个可以随便填写,然后点击Finish即可,
连接时要如入用户名和密码,可在开发板上更改root密码后直接使用root登陆,也可新
建一个用户。连接好后便可以使用Ssh Shells和SsH Terminal。
注意:
由于DropBear不包含Sftp Server,因此连接Sftp Server会出错,即SFtp Files不能用,但不影响Ssh Shells和SsH Terminal的使用。
连接Sftp Server是的错误提示:
Failed to connect SFTP subsystem: Remote host may not have sftp-server installed : java.io.IOException: inputstream is closed