title: SSH移植应用笔记 original_path: “/工作相关/飞凌嵌入式imx6全部资料/原始下载资料/OKMX6DL、Q系列产品应用笔记/OKMX6DL、Q系列产品Linux3.0.35+Andriod4.4应用笔记/在MX6Q-C上移植SSH/SSH移植应用笔记.pdf” file_size: “616 KB” total_pages: 9 author: “飞凌嵌入式” processed_date: “2026-09-20” method: “PDF文本提取(pdf-inspector),9页文本型PDF” status: “done”

SSH移植应用笔记

概述

本文档是基于飞凌 FETMX6DL/Q 核心版 V1.1 的 SSH 移植应用笔记,适用于 OKMX6DL/Q-C 平台 Linux3.0.35 操作系统。

主要内容

1. 服务器端搭建

在虚拟机中安装 SSH 服务器:

cd /
apt-get install yum
apt-get install ssh
ufw disable  # 关闭防火墙
/etc/init.d/ssh start

2. 交叉编译工具链准备

使用 arm-none-linux-gnueabi-gcc 交叉编译器,路径配置:

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

3. 源码包下载

需要三个源码包:

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

建议使用指定版本,高版本可能有兼容性问题。

4. 交叉编译步骤

4.1 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 为交叉编译工具链
make && make install

4.2 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

4.3 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

5. 安装到开发板

5.1 目录结构

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

5.2 生成 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 ""

5.3 文件复制

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

5.4 打包传输

tar zcvf openssh.tar.bz2 ./*
# 通过U盘复制到开发板
tar xvf openssh.tar.bz2 -C /usr/local
mkdir /var/empty

5.5 启动服务

/usr/local/sbin/sshd

5.6 常见问题处理

若出现 host key 错误,重新生成并复制:

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/

相关文档