iMX6系列應用筆記-iMX6Q開發板移植SSH講解
本文以飛凌嵌入式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 、交叉編譯
建立目錄結構/EmbSSH
compressed 用于存放源碼包,
install 軟件安裝目錄,
source 源碼包解壓目錄。
將openssh-4.6p1.tar.gz、openssl-0.9.8k.tar.gz、zlib-1.2.3.tar.gz 三個文件放 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
執行
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
執行make不需要執行make install
至此需要編譯的文件已經完成。
三、安裝SSH 到iMX6開發板
在虛擬機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 目錄中編譯好的目標文件 scp sftp ssh ssh-add
ssh-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-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 通過 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/sshd
Could not load host key: /usr/local/etc/ssh_host_dsa_key
Disabling 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開發板了
相關產品 >
-
FETMX6Q-C核心板
i.MX6Q核心板板層出不窮,要如何選擇?飛凌解讀i.mx6Q芯片強性能為您推薦四核A9架構的i.MX6Q產品精選,包含iMX6Q 核心板、i.MX6Q 核心板、iMX6Q工業級核心板,歡迎采購。 i.MX6Q核心板基于NXP(原Freescale)Cortex-A9架構的i.MX6Q四核處理器設計,核心板小尺寸核心板搭配獨特的薄款連接器,讓設計隨心所欲!
了解詳情 -
OKMX6Q-C開發板
雙千兆飛凌嵌入式iMX6Q開發板,板對板連接器,纖薄之際,次底板支持iMX6Q和iMX6DL核心板。i.MX6Q開發板與i.MX6DL開發板資源豐富,原理圖、PCB、軟件資源、硬件資源下載,技術支持等。歡迎選購
了解詳情