openssh arm linux 编译,交叉编译openssh

之前交叉编译那个sysbench感觉好轻松啊,一下子就OK了,还运行起来了,跑跑分(的确费时间,默认参数下),挺开心的呢,那么Linux下这么多开源的软件,是不是也可以跑跑呢,事不宜迟,来吧,这次猪脚是Openssh,这是一个很明确的需求,为什么这么说,现在系统上比较麻烦的事情是什么,没法SSH过去,只能串口,好烦人的呢,串口嘛,又占我USB,我电脑可破,只有三个USB口.下载源码就要三份,为什么呢,因为openssh依赖openssl,而openssl依赖zlib,zlib依赖基础C库,基础C库我们是动态连接的,没什么压力,为什么是这个依赖关系,就需要去问问openssh这人了,当然,在编译过程中,会因为缺乏库,而有提示,上次编译sysbench时候,应该已经有相关的指导~

首先三个包的下载地址:

b6f4b6419a54eb0d50158d2afebcffca.png

关于解压的问题,我相信不需要教了吧,这个可以随时谷歌到的,然后新建一个install目录,用来存放编译结果.

make install

的然后切到最底端zlib库的依赖,进行配置编译~ [你应该不会把用户名也抄了吧]

CC=arm-fsl-linux-gnueabi-gcc ./configure --prefix=/home/tater/work/openssh/install/

6e8d2d5075493a1e3274d87864019f8d.png

然后make;make install搞定:

0d7e57d1db5301e7946f3ab2de7ce797.png

的然后切换到openssl目录编译[第一个字母的确是大写],接下来继续make,make install:

./Configure --prefix=/home/tater/work/openssh/install os/compiler:arm-fsl-linux-gnueabi-gcc

af7d9f23c00dce53f166b99dde03f0bd.png

接着切换到外面的install目录,检查是否有libz的库,以及openssl的程序,并用file检查是否为ARM.

f0771420e60b8bcb50471a5675b52ba0.png

切换到openssh目录,然后:

CC=arm-fsl-linux-gnueabi-gcc AR=arm-fsl-linux-gnueabi-ar ./configure –host=arm-fsl-linux-gnueabi –with-libs –with-zlib=/home/tater/work/openssh/install –with-ssl-dir=/home/tater/work/openssh/install –disable-etc-default-login

接着检查有没有错误就可以make,不用make install哦:

746cd1c0d3ca4d6827f47447416624eb.png

紧张的make,马上就成功了:

328ea6538d53fa56beeb84aeba8c3477.png

然后开始手工安装文件,先切换到install下,列举发现没有usr/local目录耶:

3db17e657829650010041841aea266f2.png

新建几个目录:

mkdir usr

mkdir usr/local

mkdir usr/local/bin

mkdir usr/local/etc

mkdir usr/local/libexec

mkdir usr/local/sbin

然后复制文件:

cp scp sftp ssh ssh-add ssh-agent ssh-keygen ssh-keyscan ../install/usr/local/bin/

cp moduli ssh_config sshd_config ../install/usr/local/etc/

cp sftp-server ssh-keysign ../install/usr/local/libexec/

cp sshd ../install/usr/local/sbin/

94ece4c85764108b6dc97d8182584738.png

然后还要生成ssh-key呢.

ssh-keygen -t rsa -f ssh_host_rsa_key -N ""

ssh-keygen -t dsa -f ssh_host_dsa_key -N ""

ssh-keygen -t ecdsa -f ssh_host_ecdsa_key -N ""

e98feb30b84f31ec30b3dc38d37b97b3.png

的将生成的 ssh_host_*_key这3个文件复制到目标板的../install/usr/local/etc/目录下.最后就是打包install目录下来,到目标板覆盖解压了,然后修改目标板的/etc/passwd文件,加一行:

sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin

然后重启后就可以用完整的SSH了.说实话程序有点大~ 所以大多数人还是用Dropbear.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值