移植openssh至arm9嵌入式开发板
来源:互联网 发布:手机淘宝怎么查看积分 编辑:程序博客网 时间:2024/05/17 03:52
摘自奶牛博客
首先说移植的目的:有了ssh开机自动启动,就不用串口线来操作开发板了,可以节省很多时间,特别是文件传输的缓慢实在无法忍受。
我使用的开发板是海思的3515视频开发板。
移植过程:
下载相关源码:
openssh:
http://mirror.esc7.net/pub/OpenBSD/OpenSSH/portable/openssh-6.1p1.tar.gz
openssl:
http://www.openssl.org/source/openssl-1.0.1c.tar.gz
zlib:
http://zlib.net/zlib-1.2.7.tar.gz
然后配置好交叉编译工具
mkdir source package mkdir package/zlib mkdir package/openssl mv openssh-6.p1.tar.gz openssl-1.0.1c.tar.gz zlib-1.2.7.tar.gz ./source cd source tar xzvf openssh-6.p1.tar.gz tar xzvf openssl-1.0.1c.tar.gz tar xzvf zlib-1.2.7.tar.gz
1.编译zlib
./configure --prefix=/home/nenew/package/zlib
修改Makefile
CC=arm-linux-gcc AR=arm-linux-ar CPP =arm-linux-gcc -E LDSHARED=arm-linux-gcc
就是讲gcc ar用arm-linux-gcc arm-linux-ar来代替
make make install
2.编译openssl
./Configure --prefix=/home/nenew/package/openssl os/compiler:arm-linux-gcc
这里可以直接指定交叉编译器,如果想知道哪些编译文件可以直接支持的话,一般./configure –help就可以看到说明
make make install
3.编译openssh
./configure --host=arm-linux --prefix=/usr/local/openssh --with-zlib=/home/nenew/package/zlib --with-ssl-dir=/home/nenew/package/openssl --disable-etc-default-login --disable-strip CC=arm-linux-gcc AR=arm-linux-ar
指定好了prefix为安装的目标目录,zlib与ssl的路径也就是我们刚才的安装路径,最后指定交叉编译器
make
这里并不安装,理由是不需要安装,安装到本机也无法执行,因为我们是交叉编译,你也许会问,为什么不直接换个预置安装目录来安装呢?如果不动手做你是不会知道的,sshd启动的时候会去安装目录下的etc找配置文件滴,所以这个目录不要随便指定,网上那些教程很多这里的路径都是有问题的。
编译工作至此结束,可以开始移植openssh了。
mkdir -p usr/local/openssh cd usr/local/openssh mkdir etc bin cd ../../../ cp scp sftp ssh ssh-add ssh-agent ssh-keygen ssh-keyscan ./usr/local/openssh/bin cp sshd_config ssh_config ./usr/local/openssh/etc mkdir sbin bin cp sshd ./sbin cd bin ln -s /usr/local/openssh/bin/scp ln -s /usr/local/openssh/bin/sftp ln -s /usr/local/openssh/bin/ssh ln -s /usr/local/openssh/bin/ssh-add ln -s /usr/local/openssh/bin/ssh-agent ln -s /usr/local/openssh/bin/ssh-keygen ln -s /usr/local/openssh/bin/ssh-keyscan cd .. mkdir -p usr/local/libexec cp sftp-server ssh-keysign usr/local/libexec mkdir ../final cp -r bin sbin usr ../final cd ../final tar czvf openssh.tgz ./
目录结构大体如下:
这就把需要拷贝的文件都准备好了,传到开发板的目录下,然后展开到/根。
这时候ssh并不能运行,还需要修改passwd与group文件,位置在/etc下,将sshd用户添加上。
passwd照着模样修改:
sshd::15:50:::/bin/sh
group照着模样修改:
sshd:*:50:
这里的两个50要对应,是组的编号
mkdir -p /var/run/sshd
然后就是配置ssh key了。
cd /usr/local/openssh/etc 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-keygen -t ecdrsa -f ssh_host_ecdsa_key -N ""
现在执行/sbin/sshd应该就可以正常启动了。
如果想自动启动需要增加启动脚本与启动项。
启动脚本位置:/etc/rc.d/init.d/
启动项配置文件:/etc/init.d/rcS
如何修改可以自己参照里面的实例。
至此就已经完成了移植工作了。ssh可以正常链接。对了,这里建议修改sshd_config哦,把允许root登录与空密码选项打开,因为可以方便,这个不是服务器,不需要太高的安全级别。
- 移植openssh至arm9嵌入式开发板
- 移植openssh至arm9嵌入式开发板及常见错误
- 【转载】移植openssh至arm9嵌入式开发板及常见错误
- 移植openssh至嵌入式ARM开发板
- 向嵌入式linux开发板移植openSSH
- 向嵌入式linux开发板移植openSSH
- 向嵌入式linux开发板移植openSSH
- 向嵌入式linux开发板移植openSSH
- 向嵌入式linux开发板移植openSSH
- QT4移植到ARM9开发板
- 应用系统移植到ARM9开发板
- Mini-XML移植到arm9开发板
- 移植openssh到mini2440开发板
- 基于ARM9的嵌入式Linux系统移植
- 嵌入式 iptables1.4.3.1移植ARM9
- 移植OpenSSH 到嵌入式操作系统当中
- 将dropbear SSH移植到arm9开发板
- dropbear ssh服务移植到arm9开发板
- POJ3667 hotel
- 趣味问题(1 2 3 4 5 6 7 8 9 = 110)
- Android百度地图使用
- rsync 错误报告及解决方法
- 华天正的开发板如何修改MAC的地址
- 移植openssh至arm9嵌入式开发板
- 获取磁盘序列号GetVolumeInformation
- Visual Studio 2010单元测试(2)--运行测试并查看代码覆盖率
- 三角形类——一个无参数一个有参数(用参数的初始化表对数据成员初始化)
- 面向对象基础3
- C#之面向对象
- 利用Java漏洞窃取浏览器信息的黑洞攻击包
- 获取进程路径
- 关于串口化分配版本号相关(补)