iMX6系列應(yīng)用筆記-iMX6Q開(kāi)發(fā)板移植SSH講解

原創(chuàng) 2021-01-22 16:21:00 iMX6 iMX6q

本文以飛凌嵌入式OKMX6Q/DL-C開(kāi)發(fā)板為基礎(chǔ)講解,操作系統(tǒng)為Linux3.0.35,其它品牌產(chǎn)品請(qǐng)參考使用,本文主要介紹了iMX6Q開(kāi)發(fā)板如何安裝SSH,本文章主要是記錄日常客戶經(jīng)常問(wèn)到的一些問(wèn)題,為客戶提供一些解決思路,希望可以協(xié)助客戶加速產(chǎn)品的研發(fā)速度,由于水平有限,在服務(wù)過(guò)程中所提供的任何資料和信息,都僅供參考。


一、搭建服務(wù)器

首先在虛擬機(jī)中完成服務(wù)器端的搭建。

安裝SSH步驟如下:

1)在虛擬機(jī)終端中執(zhí)行 cd /命令切換到根目錄下

2)執(zhí)行 apt-get install yum 命令,再執(zhí)行 apt-get install ssh 命令

3)執(zhí)行 ufw disable 命令關(guān)閉防火墻

4)啟動(dòng)服務(wù)器執(zhí)行/etc/init.d/ssh start 命令

二、安裝開(kāi)發(fā)板客戶端

將openssh 移植到iMX6Q開(kāi)發(fā)板上就完成了安裝 SSH 客戶端的工作。

1、安裝交叉編譯器

這里用的交叉編譯器是arm-none-linux-gnueabi-gcc,可從iMX6Q 用戶資料中獲取??截惖皆撎摂M機(jī)的/usr/local/arm 目錄下面解壓。在/etc/profile 文件中的末尾另起一行增。

添加


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


保存退出,在終端執(zhí)行


source /etc/profile 


命令,這樣就不必重啟系統(tǒng)而使環(huán)境變量生效了。

查看安裝是否成功在終端中執(zhí)行


arm-fsl-linux-gnueabi-gcc –v


查看交叉編譯器是否安裝成功。

2、下載源碼包

下載openssh-4.6p1.tar.gz、 openssl-0.9.8k.tar.gz 和 zlib-1.2.3.tar.gz 這三個(gè)源碼包, ssh服務(wù)需要依賴 zlib 和 ssl 庫(kù)。

注意: 建議使用上面提到的版本,高版本有些文件更新可能出現(xiàn)安裝問(wèn)題。

3 、交叉編譯

建立目錄結(jié)構(gòu)/EmbSSH

compressed 用于存放源碼包,

install 軟件安裝目錄,

source 源碼包解壓目錄。

將openssh-4.6p1.tar.gz、openssl-0.9.8k.tar.gz、zlib-1.2.3.tar.gz 三個(gè)文件放 compressed目錄下

交叉編譯zlib

cd /EmbSSH/compressed/

tar xvf zlib-1.2.3.tar.gz -C ../source

cd ../source/zlib-1.2.3

./configure --prefix=/EmbSSH/install/zlib-1.2.3

修改Makefile 中的如下信息

CC=arm-none-linux-gnueabi-gcc

AR= arm-none-linux-gnueabi-ar rc

CPP = arm-none-linux-gnueabi-gcc -E

LDSHARED= arm-none-linux-gnueabi-gcc

執(zhí)行

make

make install


交叉編譯openssl

cd /EmbSSH/compressed/

tar zxvf openssl-0.9.8e.tar.gz -C ../source

cd ../source/openssl-0.9.8e

./Configure --prefix=/EmbSSH/install/openssl-0.9.8e

os/compiler: arm-none-linux-gnueabi-gcc

make

make install

 

交叉編譯openssh

cd /EmbSSH/compressed

tar zxvf openssh-4.6p1.tar.gz C ../source

cd ../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-login

CC=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/lib

Libraries: -lresolv -lcrypto -lutil -lz -lnsl -lcrypt

執(zhí)行make不需要執(zhí)行make install

至此需要編譯的文件已經(jīng)完成。

三、安裝SSH 到iMX6開(kāi)發(fā)板

在虛擬機(jī)EmbSSH/source/openssh-4.6p1下建立文件夾 bin,etc,libexec,sbin

mkdir -p EmbSSH/source/openssh-4.6p1/{bin,etc,libexec,sbin}

生成Key 文件

cd /EmbSSH/source/openssh-4.6p1

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 ""

將/EmbSSH/source/openssh-4.6p1 目錄中編譯好的目標(biāo)文件 scp sftp ssh ssh-add

ssh-agent ssh-keygen ssh-keyscan復(fù)制到 bin目錄中;moduli ssh_config sshd_config

以及剛剛生成的Key文件復(fù)制到 etc目錄下;sftp-server ssh-keysign復(fù)制 libexec目錄;sshd 復(fù)制到 sbin 目錄;

cp scp sftp ssh ssh-add ssh-agent

ssh-keygen ssh-keyscan ../../source/openssh-4.6p1/bin/

cp moduli ssh_config sshd_config ../../ source/openssh-4.6p1/etc

cp sftp-server ssh-keysign ../../ source/openssh-4.6p1/libexec/

cp sshd ../../ source/openssh-4.6p1/sbin

cp ssh_host_*_key ../../ source/openssh-4.6p1/etc

將放置好的鏡像打包

cd /EmbSSH/ source/openssh-4.6p1/

tar zcvf openssh.tar.bz2 ./*

把壓縮包openssh.tar.bz2 通過(guò) U 盤(pán)復(fù)制到iMX6Q開(kāi)發(fā)板,并解壓到iMX6Q開(kāi)發(fā)板的 usr/local 下

tar xvf openssh.tar.bz2 -C /usr/local

另外在板子上新建一個(gè)空文件夾:

mkdir /var/empty

啟動(dòng)ssh 服務(wù)

/usr/local/sbin/sshd

可能出現(xiàn)如下報(bào)錯(cuò)信息

root@freescale /$ /usr/local/sbin/sshd

Could not load host key: /usr/local/etc/ssh_host_dsa_key

Disabling protocol version 1. Could not load host key

此時(shí)重新生成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/

再重新啟動(dòng)ssh 服務(wù)。

/usr/local/sbin/sshd

此時(shí)就可以使用ssh 客戶端連接iMX6Q開(kāi)發(fā)板了

相關(guān)產(chǎn)品 >

  • FETMX6Q-C核心板

    i.MX6Q核心板板層出不窮,要如何選擇?飛凌解讀i.mx6Q芯片強(qiáng)性能為您推薦四核A9架構(gòu)的i.MX6Q產(chǎn)品精選,包含iMX6Q 核心板、i.MX6Q 核心板、iMX6Q工業(yè)級(jí)核心板,歡迎采購(gòu)。  i.MX6Q核心板基于NXP(原Freescale)Cortex-A9架構(gòu)的i.MX6Q四核處理器設(shè)計(jì),核心板小尺寸核心板搭配獨(dú)特的薄款連接器,讓設(shè)計(jì)隨心所欲!

    了解詳情
    FETMX6Q-C核心板
  • OKMX6Q-C開(kāi)發(fā)板

    雙千兆飛凌嵌入式iMX6Q開(kāi)發(fā)板,板對(duì)板連接器,纖薄之際,次底板支持iMX6Q和iMX6DL核心板。i.MX6Q開(kāi)發(fā)板與i.MX6DL開(kāi)發(fā)板資源豐富,原理圖、PCB、軟件資源、硬件資源下載,技術(shù)支持等。歡迎選購(gòu)

    了解詳情
    OKMX6Q-C開(kāi)發(fā)板

推薦閱讀 換一批 換一批