注册

移植OpenSSH到Easy-ARM9 Linux开发板
首页 > 嵌入式开发 > Linux嵌入式    作者:RainFly   2016年7月10日 10:35 星期日   热度:11503°   字号:   评论:2    
时间:2016-7-10 10:35   热度:11503°  评论:2 条 

实验环境

开发板:EasyARM-iMX283  

宿主机: Ubuntu14.04LTS

交叉编译工具:arm-none-linux-gnueabi-

linux内核:2.6.35.3

源码包:

openssh-4.6p1.tar          载地址http://www.openssh.com/portable.html

openssl-0.9.8e.tar.gz         下载地址:http://www.openssl.org/source

zlib-1.2.3.tar.gz                 载地址:http://www.zlib.net/


SHH服务依赖zlib和ssl库

编译zlib

建立一个文件夹ssh 将上述三个压缩包解压至此文件夹中,编译

打开ssh/zlib-1.2.3文件夹,输入命令./configure --prefix=/xxxxxx/zlib-1.2.3

1.PNG

打开Makefile文件 修改

CC =arm-none-linux-gnueabi-gcc。

AR=arm-none-linux-gnueabi-ar rc
CPP =arm-none-linux-gnueabi-gcc -E
LDSHARED=arm-none-linux-gnueabi-gcc

然后 make      sudo make install


交叉编译openssl
打开openssl的目录
./Configure --prefix=/xxxx/openssl-0.9.8e  os/compiler:arm-none-linux-gnueabi-gcc
make
make install
交叉编译openssh
cd到openssh目录
./configure --host=arm-linux --with-libs --with-zlib=/home/rain/ssh/zlib-1.2.3 --with-ssl-dir=/home/rain/ssh/openssl-1.0.1t --disable-etc-default-login CC=arm-none-linux-gnueabi-gcc AR=arm-none-linux-gnueabi-ar


打印出如下信息:
OpenSSH has been configured with the following options:
User binaries: /usr/local/bin
........ 
Linker flags: -L/EmbSSH/install/openssl-0.9.8e/lib 
                   -L/EmbSSH/install/zlib-1.2.3/lib 
Libraries:   -lresolv -lcrypto -lutil -lz -lnsl  -lcrypt
执行make,不需要执行make install
至此需要编译的文件已经完成。


安装sshd到开发板
在板子/usr/local建立文件夹bin etc libexec sbin share
将/EmbSSH/source/openssh-4.6p1目录中编译好的目标文件
scp  sftp  ssh  ssh-add  ssh-agent  ssh-keygen  ssh-keyscan
复制到板子或镜像/usr/local/bin目录中(也可以放在/bin);
moduli  ssh_config  sshd_config复制到/usr/local/etc;
sftp-server  ssh-keysign复制到/usr/local/libexec目录(也可以放在/usr/libexec);
sshd复制到/usr/local/sbin目录(也可以放在/sbin或/usr/sbin);
建立sshd用户
可以直接修改/etc/passwd、/etc/group文件
在passwd中加入
sshd::103:103::/var/run/sshd:/bin/sh
在group中加入
sshd:*:103:
执行
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 ""
将生成的文件复制到/usr/local/etc目录中。
建立目录/var/empty

启动sshd服务
/usr/local/sbin/sshd(或/usr/sbin/sshd或/sbin/sshd)

此时就可以使用ssh客户端连接开发板了。
也可以将
mkdir -p /var/empty
/usr/local/sbin/sshd(或/usr/sbin/sshd或/sbin/sshd)
放置在/etc/init.d/rcS中,这样服务就能开机自动启动。




  您阅读这篇文章共花了:  
捐赠支持:如果觉得这篇文章对您有帮助,请 "扫一扫"鼓励作者!
二维码加载中...
本文作者:RainFly      文章标题: 移植OpenSSH到Easy-ARM9 Linux开发板
本文地址:http://www.rainfly.cn/?post=189
版权声明:若无注明,本文皆为“雨夜轩”原创,转载请保留文章出处。

只能坐地板啦!

债券资讯  Google Chrome 63.0.3239.132 Google Chrome 63.0.3239.132 Windows 7 Windows 7  2019-04-08 09:24 板凳
这个很棒。
宁国房产网  Google Chrome 55.0.2883.87 Google Chrome 55.0.2883.87 Windows 7 Windows 7  2017-11-14 22:15 沙发
受教了!

QQ游客评论

返回顶部    首页    捐赠支持    手气不错    友情链接    关于我们    站长工具    站长介绍    手机版本    后台登陆   
版权所有:雨夜轩    站长:RainFly    特别鸣谢   文章归档   皖ICP备15003600号-1   百度统计
Copyright©2015 雨夜轩 Powered by emlog强力驱动 七牛CDN全球加速 360站长联盟安全认证 中国博客联盟荣誉成员 可信赖网站 站点地图   
页面加载耗时:0.039秒 数据库查询次数:15次
背景设置