向嵌入式linux开发板移植openSSH

本文详细记录了将OpenSSH移植到嵌入式Linux开发板的全过程,包括编译环境搭建、步骤详解、开发板配置以及解决遇到的问题。在移植完成后,可以实现远程SSH登录和SFTP文件传输,提升开发效率。
摘要由CSDN通过智能技术生成

向嵌入式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-stripdisable calling strip(1) on install,不大清楚有啥用,先记着了。第一次编译时没有添加这个参数,但最终还是设置成功了。

然后接着,在openssh源码路径下:

~ # make

这里不需要make install,上边说过。据我印象,这次make会产生一些问题,都是与设置交叉编译链有关系的,如果遇到问题,就

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值