这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » iMX6Q开发板移植SSH讲解

共5条 1/1 1 跳转至

iMX6Q开发板移植SSH讲解

助工
2021-10-21 16:39:17     打赏
本文以飞凌嵌入式OKMX6Q/DL-C开发板为基础讲解,操作系统为Linux3.0.35,其它品牌产品请参考使用,本文主要介绍了imx6Q开发板如何安装SSH,本文章主要是记录日常客户经常问到的一些问题,为客户提供一些解决思路,希望可以协助客户加速产品的研发速度,由于水平有限,在服务过程中所提供的任何资料和信息,都仅供参考。


一、搭建服务器

首先在虚拟机中完成服务器端的搭建。安装SSH步骤如下:1)在虚拟机终端中执行 cd /命令切换到根目录下2)执行 apt-get install yum 命令,再执行 apt-get install ssh 命令3)执行 ufw disable 命令关闭防火墙4)启动服务器执行/etc/init.d/ssh start 命令

二、安装开发板客户端

将openssh 移植到iMX6Q开发板上就完成了安装 SSH 客户端的工作。1、安装交叉编译器这里用的交叉编译器是arm-none-linux-gnueabi-gcc,可从iMX6Q 用户资料中获取。拷贝到该虚拟机的/usr/local/arm 目录下面解压。在/etc/profile 文件中的末尾另起一行增。添加


export  PATH=/usr/local/arm/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/bin:$PATH

保存退出,在终端执行


source /etc/profile

命令,这样就不必重启系统而使环境变量生效了。查看安装是否成功在终端中执行


arm-fsl-linux-gnueabi-gcc –v

查看交叉编译器是否安装成功。2、下载源码包下载openssh-4.6p1.tar.gz、 openssl-0.9.8k.tar.gz 和 zlib-1.2.3.tar.gz 这三个源码包, ssh服务需要依赖 zlib 和 ssl 库。注意: 建议使用上面提到的版本,高版本有些文件更新可能出现安装问题。3 、交叉编译建立目录结构/EmbSSHcompressed 用于存放源码包,install 软件安装目录,source 源码包解压目录。将openssh-4.6p1.tar.gz、openssl-0.9.8k.tar.gz、zlib-1.2.3.tar.gz 三个文件放 compressed目录下交叉编译zlibcd /EmbSSH/compressed/tar xvf zlib-1.2.3.tar.gz -C ../sourcecd ../source/zlib-1.2.3./configure --prefix=/EmbSSH/install/zlib-1.2.3修改Makefile 中的如下信息CC=arm-none-linux-gnueabi-gccAR= arm-none-linux-gnueabi-ar rcCPP = arm-none-linux-gnueabi-gcc -ELDSHARED= arm-none-linux-gnueabi-gcc执行makemake install


交叉编译opensslcd /EmbSSH/compressed/tar zxvf openssl-0.9.8e.tar.gz -C ../sourcecd ../source/openssl-0.9.8e./Configure --prefix=/EmbSSH/install/openssl-0.9.8eos/compiler: arm-none-linux-gnueabi-gccmakemake install


交叉编译opensshcd /EmbSSH/compressedtar zxvf openssh-4.6p1.tar.gz C ../sourcecd ../source/openssh-4.6p1./configure --host=arm-linux --with-libs --with-zlib=/EmbSSH/install/zlib-1.2.3--with-ssl-dir=/EmbSSH/install/openssl-0.9.8e--disable-etc-default-loginCC=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/libLibraries: -lresolv -lcrypto -lutil -lz -lnsl -lcrypt执行make不需要执行make install至此需要编译的文件已经完成。

三、安装SSH 到iMX6开发板

在虚拟机EmbSSH/source/openssh-4.6p1下建立文件夹 bin,etc,libexec,sbinmkdir -p EmbSSH/source/openssh-4.6p1/{bin,etc,libexec,sbin}生成Key 文件cd /EmbSSH/source/openssh-4.6p1ssh-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 ""将/EmbSSH/source/openssh-4.6p1 目录中编译好的目标文件 scp sftp ssh ssh-addssh-agent ssh-keygen ssh-keyscan复制到 bin目录中;moduli ssh_config sshd_config以及刚刚生成的Key文件复制到 etc目录下;sftp-server ssh-keysign复制 libexec目录;sshd 复制到 sbin 目录;cp scp sftp ssh ssh-add ssh-agentssh-keygen ssh-keyscan ../../source/openssh-4.6p1/bin/cp moduli ssh_config sshd_config ../../ source/openssh-4.6p1/etccp sftp-server ssh-keysign ../../ source/openssh-4.6p1/libexec/cp sshd ../../ source/openssh-4.6p1/sbincp ssh_host_*_key ../../ source/openssh-4.6p1/etc将放置好的镜像打包cd /EmbSSH/ source/openssh-4.6p1/tar zcvf openssh.tar.bz2 ./*把压缩包openssh.tar.bz2 通过 U 盘复制到iMX6Q开发板,并解压到iMX6Q开发板的 usr/local 下tar xvf openssh.tar.bz2 -C /usr/local另外在板子上新建一个空文件夹:mkdir /var/empty启动ssh 服务/usr/local/sbin/sshd可能出现如下报错信息root@freescale /$ /usr/local/sbin/sshdCould not load host key: /usr/local/etc/ssh_host_dsa_keyDisabling protocol version 1. Could not load host key此时重新生成hostkey 文件并放置到/usr/local/etc 下ssh-keygen -t rsa1 -f ssh_host_key -N ""cp ssh_host_dsa_key ./usr/local/etc/cp ssh_host_dsa_key.pub ./usr/local/etc/再重新启动ssh 服务。/usr/local/sbin/sshd此时就可以使用ssh 客户端连接iMX6Q开发板了


原文链接:https://www.forlinx.com/article_view_640.html




工程师
2021-11-18 22:09:12     打赏
2楼

讲解的还是可以的


工程师
2021-12-10 23:19:27     打赏
3楼

学到了


工程师
2021-12-18 23:05:23     打赏
4楼

讲解的很到位


高工
2021-12-18 23:21:07     打赏
5楼

讲解的很到位


共5条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]