将Open SSH Server 移植到ARM Linux成功

参考资料:


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


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


 


步骤:


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


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


 


openssl http://www.openssl.org/source








zlib    http://www.zlib.net/ 


 


2.交叉编译


在/work目下面创建ssh目录
# mkdir /work/lib            ----〉共享库目录,通过nfs挂载
# mkdir /work/ssh           -----〉工作目录
# cd  /work/ssh
# mkdir compressed install source  -----〉compressed 用于存放源码包
                                    Install    软件安装目录
                                    Source    源码包解压目录
#mv tarpakgs/openssh-4.6p1.tar.gz  /work/ssh/compressed
#mv tarpakgs/openssl-0.9.8e.tar.gz  /work/ssh/compressed
#mv tarpakgs/zlib-1.2.3.tar.tar        /work/ssh/compressed


交叉编译 zlib
# cd /work/ssh/compressed/
# tar xvf zlib-1.2.3.tar.tar  -C  ../source
# cd ../source/zlib-1.2.3
# ./configure --prefix=/work/ssh/install/zlib-1.2.3
# vim Makefile
CC=arm-9tdmi-linux-gnu-gcc
AR=arm-9tdmi-linux-gnu-ar rc
CPP =arm-9tdmi-linux-gnu-gcc -E
LDSHARED=arm-9tdmi-linux-gnu-gcc


# make
# make install


交叉编译openssl
# cd /work/ssh/compressed/
# tar zxvf openssl-0.9.8e.tar.gz  -C  ../source
# cd ../source/openssl-0.9.8e
# ./Configure --prefix=/work/ssh/install/openssl-0.9.8e  os/compiler:arm-9tdmi-linux-gnu-gcc


# make
# make install


交叉编译openssh
# cd /work/ssh/compressed
# tar zxvf openssh-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-login CC=arm-9tdmi-linux-gnu-gcc AR=arm-9tdmi-linux-gnu-ar


#make


注意:openssh不需要make install


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/ 目录下的scp  sftp  ssh  ssh-add  ssh-agent  ssh-keygen  ssh-keyscan 拷贝到目标板  /usr/local/binmoduli 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-server  ssh-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!不出意外的话可以成功,如不成功请留言!
展开阅读全文
  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值