向嵌入式linux开发板移植openSSH

向嵌入式linux开发板移植openSSH

晚上没事干,想着能不能把高大上的openSSH移植到我现在开发的嵌入式linux开发板上,前不久刚弄出来dropbear,但遇到一些小问题,一会说,所以把openSSH搞上去还是可以的。开发板端为服务器端,由宿主机客户端访问。

2016-8-16

背景

  • 开发板:freescale i.mx6q
  • 宿主机操作系统:ubuntu 14.04
  • 开发板操作系统:linux 3.0.35

基本情况

使用dropbear后,ssh算是在板子上成功跑起来了,参见我另一篇日记,然而,在使用的过程中,需要对root用户重新设置一次密码后,才可以正常操作,然而,由于我对板子本身编译进去的ftp不了解,重新设置root密码后,就无法使用ftp传输文件了。了解到dropbear自带了scp协议一个简单文件传输工具,于是就开始搞,后来没搞出来。然后去研究如何把sftp加入到dropbear中,过程需要编译openSSH并提取sftp。得了,就直接搞openSSH吧。

经后来测试,编译后的openSSH可执行文件约为16M,确实足够大了,还好板子上的内存容量还足够。开启一个shell后的运行内存基本忽略,还是可以用的,最关键openSSH里还带有sftp,scp等工具,简直方便。

步骤

编译

1.需要用到的源码包有:openssh,openssl,zlib,请按下列地址下载:

openssh-7.3: http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/openssh-7.3.tar.gz

openssl-1.0.1t: https://www.openssl.org/source/openssl-1.0.1t.tar.gz

zlib-1.2.8: http://zlib.net/zlib-1.2.8.tar.gz

请登录网站选择合适的版本下载。

2.首先编译zlib,这里不再重复写,参考我之前的日记(向嵌入式linux开发板移植dropbear)

3.编译openssl:openssl根目录下:

~ # mkdir /usr/local/openssl
~ # ./Configure --prefix=/usr/local/openssl os/compiler:arm-fsl-linux-gnueabi-gcc
~ # make
~ # make install

4.编译openssh:openssh源码根目录下:

~ # mkdir /usr/local/openssh
~ # ./configure --host=arm-linux --prefix=/usr/local/openssh --with-zlib=/usr/local/zlib --with-ssl-dir=/usr/local/openssl --disable-etc-default-login --disable-strip CC=arm-fsl-linux-gnueabi-gcc AR=arm-fsl-linux-gnueabi-ar

这里创建/usr/local/openssh并没有作用,openssh是要运行在开发机的,在宿主机中make install没有意义,这里是习惯性做法。另外,网上的技术帖子说将本地的路径作为打包路径一并打包,也是一种做法,但我认为略显麻烦或混乱,我最终是用脚本按部署所有的openssh工具的。

第二句命令配置configure,其中--disable-etc-default-logindisable using PATH from /etc/default/login no; --disable-strip

  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值