参考:http://linux.chinaunix.net/techdoc/develop/2008/07/23/1020143.shtml
下载源码:openssl-0.9.8d.tar.gz:
openssh-4.6p1.tar.gz2
zlib-1.2.3.tar.gz
1、编译zlib
#mkdir -p /mnt/ssh/build
#tar -zxvf /mnt/ssh/source/zlib-1.2.3.tar.gz .
#cd zlib-1.2.3
#./configure --prefix=/mnt/ssh/build/zlib-1.2.3
修改Makefile
CROSS=arm-linux-
CC=$(CROSS)gcc
LDSHARED=gcc 改为: LDSHARED=$(CROSS)gcc
CPP=gcc -E 改为: CPP=$(CROSS)gcc -E
AR=ar rc 改为: AR=$(CROSS)ar rc
#make
#make install
2、编译openssl
#tar -zxvf openssl-0.9.8d.tar.gz .
#cd openssl-0.9.8d
#./configure --prefix=/mnt/ssh/build/openssl-0.9.8d os/compiler:/usr/local/arm/4.3.2/bin/arm-linux-gcc
#make
#make install
3、编译openssh
#tar -zxvf openssh-4.6p1.tar.gz2 .
#cd openssh-4.6p1
#./configure -host=arm-linux -with-libs -with-zlib=/mnt/ssh/build/zlib-1.2.3/ -with-ssl-dir=/mnt/ssh/build/openssl-0.9.8d/ -disable-etc-default-login CC=/usr/local/arm/4.3.2/bin/arm-linux-gcc AR=/usr/local/arm/4.3.2/bin/arm-linux-ar
#make
安装
(1) 将 openssh-4.6p1目录下的 sshd 拷贝到 目标板的/usr/sbin目录下
(2) 将 scp sftp ssh ssh-add ssh-agent ssh-keygen ssh-keyscan 拷贝 到目标板/usr/local/bin目录下
(3) 将 sftp-server ssh-keysign 拷贝到/usr/local/libexec目录下
(4) 在目标板下 mkdir -p /usr/local/etc/ 然后将openssh下的sshd_config,ssh_config 拷贝到该目录下; mkdir -p /var/run; mkdir -p /var/empty/sshd; chmod 755 /var/empty
(5) 在主机上:
# ssh-keygen -t rsa1 -f ssh_host_key -N ""
# ssh-keygen -t rsa -f ssh_host_rsa_key -N ""
# ssh-keygen -t dsa -f ssh_host_dsa_key -N ""
将生存的 ssh_host_* 4个文件copy到目标板的 /usr/local/etc/目录下
(6) 添加用户: 将主机上/etc/目下的 passwd, shadow, group 三个文件copy到目标板的 /etc目录下,同时记得将passwd的最后 /bin/bash 该为 /bin/sh, 其实可以删除不需要的一些用户。
至此,将ssh移植到arm-linux上的工作已经完成。可以在目标板上运行ssh守护进程了:/usr/sbin/sshd &; 或者写到etc目录下的配置文件中,系统每次重新启动后会自动启动这些服务。
阅读(2272) | 评论(0) | 转发(0) |