将Open SSH Server 移植到ARM Linux成功 – David

参考资料:

http://blog.chinaunix.net/u1/43047/showart_371372.html

http://blog.chinaunix.net/u/21948/showart.php?id=506254

步骤:

1.下载源码包,地址如下:

opensshhttp://www.openssh.com/portable.html

opensslhttp://www.openssl.org/source

zlib http://www.zlib.net/

2.交叉编译

在/work目下面创建ssh目录#mkdir/work/lib----〉共享库目录,通过nfs挂载#mkdir/work/ssh-----〉工作目录#cd/work/ssh#mkdircompressedinstallsource-----〉compressed用于存放源码包Install软件安装目录Source源码包解压目录#mvtarpakgs/openssh-4.6p1.tar.gz/work/ssh/compressed#mvtarpakgs/openssl-0.9.8e.tar.gz/work/ssh/compressed#mvtarpakgs/zlib-1.2.3.tar.tar/work/ssh/compressed交叉编译zlib#cd/work/ssh/compressed/#tarxvfzlib-1.2.3.tar.tar-C../source#cd../source/zlib-1.2.3#./configure--prefix=/work/ssh/install/zlib-1.2.3#vimMakefileCC=arm-9tdmi-linux-gnu-gccAR=arm-9tdmi-linux-gnu-arrcCPP=arm-9tdmi-linux-gnu-gcc-ELDSHARED=arm-9tdmi-linux-gnu-gcc#make#makeinstall交叉编译openssl#cd/work/ssh/compressed/#tarzxvfopenssl-0.9.8e.tar.gz-C../source#cd../source/openssl-0.9.8e#./Configure--prefix=/work/ssh/install/openssl-0.9.8eos/compiler:arm-9tdmi-linux-gnu-gcc#make#makeinstall交叉编译openssh#cd/work/ssh/compressed#tarzxvfopenssh-4.6p1.tar.gz–C../source#cd../source/openssh-4.6p1#./configure--host=arm-9tdmi-linux-gnu--with-libs--with-zlib=/work/ssh/install/zlib-1.2.3--with-ssl-dir=/work/ssh/install/openssl-0.9.8e--disable-etc-default-loginCC=arm-9tdmi-linux-gnu-gccAR=arm-9tdmi-linux-gnu-ar
注意:openssh不需要make

3.操作目标板

3.1在目标板上建立以下目录:

/usr/local/bin/

/usr/local/sbin/

/usr/local/etc/

/usr/local/libexec/

/var/run/

/var/empty/

3.2从PC机上将以下文件拷贝到目标板Linux系统中

PC机 /work/ssh/source/openssh-4.6p1/ 目录下的
scpsftpsshssh-addssh-agentssh-keygenssh-keyscan 拷贝到目标板/usr/local/bin
moduli ssh_config sshd_config ssh_host_dsa_key ssh_host_dsa_key.pub ssh_host_key ssh_host_key.pub ssh_host_rsa_key ssh_host_rsa_key.pub 拷贝到目标板 /usr/local/etc
sftp-serverssh-keysign 拷贝到目标板 /usr/local/libexec
sshd 拷贝到目标板 /usr/local/sbin/
PC机目录 /work/ssh/install/zlib-1.2.3/lib/ 目录下的 
libz.so.1.2.5 拷贝到目标板 /lib/目录下,然后建立连接
ln -s libz.so.1.2.5 libz.so.1
注意:
1.动态链接库文件必须放在/lib/目录下面;
2.libz.so.1.2.5是一个动态连接库文件,但是程序调用的时候使用的是libz.so.1这个名称,所以要建立软链接;
3.3生成Key文件
在目标板上,进入/usr/local/etc/目录,执行以下命令:
../bin/ssh-keygen -t rsa1 -f ssh_host_key -N ""
../bin/ssh-keygen -t rsa -f ssh_host_rsa_key -N ""
../bin/ssh-keygen -t dsa -f ssh_host_dsa_key -N ""
3.4添加sshd用户
将主机上 /etc/目下的 passwd, shadow, group 三个文件copy到目标板的 /etc目录下, 同时记得将passwd的最后 /bin/bash 该为 /bin/sh 其实可以删除不需要的一些用户。
注意:前提条件是主机上用OpenSSH服务器,加入没有OpenSSH服务器,passwd文件里面没有sshd用户记录也是没用的,建议手动添加sshd用户
4.测试
#/usr/local/sbin/sshd
可以用ps命令查看sshd是否在工作
如果运行的过程中有提示缺少动态连接库,可以在主机上搜索相应文件,拷贝到目标板/lib/目录下面,注意创建软连接!
OK!不出意外的话可以成功,如不成功请留言!

http://blog.csdn.net/ctbinzi/article/details/5929800

人生才会更有意义。如果没有梦想,那就托做庸人。

将Open SSH Server 移植到ARM Linux成功 – David

相关文章:

你感兴趣的文章:

标签云: