OKMX6DL/Q 平台 SSH 移植应用笔记

基本信息

  • 原始路径: /工作相关/飞凌嵌入式imx6全部资料/嵌入式相关(小发光硬件部分)/20200219 孙润民/飞凌电子/OKMX6DL、Q系列产品应用笔记/ssh移植包/SSH移植应用笔记.pdf
  • 文件大小: 505 KB
  • 页数: 9页
  • 处理日期: 2026-09-20
  • 提取方式: PDF文本提取
  • 状态: done

适用范围

本文适用于飞凌 OKMX6DL/Q-C 平台 Linux 3.0.35 操作系统。

移植步骤

2.1 搭建服务器(宿主机)

在虚拟机中完成 SSH 服务器端搭建:

cd /
apt-get install yum
apt-get install ssh
ufw disable
/etc/init.d/ssh start

2.2 安装开发板客户端

2.2.1 安装交叉编译器

使用 arm-none-linux-gnueabi-gcc 编译器。

# 在 /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.2.2 下载源码包

建立目录结构:

mkdir -p /EmbSSH/{install,source,compressed}

下载三个源码包(建议使用指定版本):

  • openssh-4.6p1.tar.gz
  • openssl-0.9.8k.tar.gz
  • zlib-1.2.3.tar.gz

2.2.3 交叉编译

编译 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, AR, CPP, LDSHARED 为 arm-none-linux-gnueabi-*
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
make

2.3 安装 sshd 到开发板

在虚拟机中准备文件结构:

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

生成 Key 文件:

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

复制编译产物:

cp scp sftp ssh ssh-add ssh-agent ssh-keygen ssh-keyscan bin/
cp moduli ssh_config sshd_config etc/
cp sftp-server ssh-keysign libexec/
cp sshd sbin/
cp ssh_host_*_key etc/

打包镜像:

tar zcvf openssh.tar.bz2 ./*

部署到开发板:

tar xvf openssh.tar.bz2 -C /usr/local
mkdir /var/empty

启动 SSH 服务:

/usr/local/sbin/sshd

如遇报错需重新生成 hostkey:

ssh-keygen -t rsa1 -f ssh_host_key -N ""
cp ssh_host_key /usr/local/etc/

关键技术要点

  1. 版本兼容性:建议使用文档指定版本,高版本可能出现文件更新导致的安装问题
  2. 依赖关系:SSH 依赖 zlib 和 openssl 库,需按顺序交叉编译
  3. Key 文件:开发板首次启动可能缺少 host key,需手动生成
  4. /var/empty:sshd 需要此目录,必须提前创建

关联文件