對嵌入式系統來時,openssh的功能是足夠了,但是相對比較大。在空間受限的情況下,選擇dropbear還比較好。dropbear是一個輕量級的ssh2服務器和客戶端,動態編譯在170K左右,遠遠小於openssh的1.4M。
(1)下載
(2)編譯
在前面已經編譯過zlib了,所以這裏就簡單了。只需要./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
把上述文件strip之後放到target board的/usr/sbin目錄下,然後建立配置目錄:mkdir /etc/dropbear; cd /etc/dropbear,最後利用dropbearkey來生成密鑰:dropbearkey -t rsa -f dropbear_rsa_host_key。
啓動服務器:#dropbear
這樣你就可以利用ssh client進行測試了。我在測試時,發現連接dropbear的速度比sshd要快一些。