如何移植sshserver到嵌入式平台
阅读原文时间:2023年07月08日阅读:3

ssh解释说明

SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议。SSH 是较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。SSH在正确使用时可弥补网络中的漏洞。SSH客户端适用于多种平台。几乎所有UNIX平台—包括HP-UXLinuxAIXSolarisDigitalUNIXIrix,以及其他平台,都可运行SSH。

摘于百度百科

ssh移植需要经过zlib、openssl、openssh三个阶段

1. 下载zlib、openssl和openssh源码包

官方网站:http://www.zlib.net/

下载最新版本的zlib

官方网站:https://www.openssl.org/

下载openssl(博主用openssl-1.0.2d.tar.gz此版本,建议不要随意最新版本)

网站:https://www.mindrot.org/openssh_snap/

下载最新版本的openssh

2. 设计如下目录结构

3. 进入compressed进行解压压缩包

tar xvf xxxxx.tar.gz -C ../source/

4. 进入source进行编译配置和编译

配置、编译和安装zlib:

./configure --prefix=/home/watson/real-watson/source/zlib-1.2.11 \
CC=mips64el-linux-gcc LDSHARED=mips64el-linux-gcc CPP=mips64el-linux-gcc

make -j8 && make install

配置、编译和安装openssl

./configure --prefix=/home/watson/real-watson/source/openssl-1.0.2d --cross-compile-prefix=mips64el-linux-
make -j8 && make install

配置和编译openssh

CC=mips64el-linux-gcc AR=mips64el-linux-ar ./configure \
--host=mips64el-linux --with-libs \
--with-zlib=/home/watson/real-watson/source/zlib-1.2.11/ \
--with-ssl-dir=/home/watson/real-watson/source/openssl-1.0.2d/ \
--disable-etc-default-login

make -j8 (no make install)

5. 拷贝执行文件和库文件到板端,板端生成dra rsa密钥。

(以下步骤略繁琐)

制作如下结构和拷贝文件

其中key文件需要在/usr/local/etc/下主动生成

ssh-keygen -t ecdsa -f ssh_host_ecdsa_key -N ""
ssh-keygen -t rsa -f ssh_host_rsa_key -N ""
ssh-keygen -t dsa -f ssh_host_dsa_key -N ""

6. 执行sshd前需要做如下的操作

a. 改成yes如下

b. 增加库文件libcrypto.so*到板端lib下

c. 以绝对路径运行sshd

root@ubuntu: /usr/local/sshd

查看ps -ef |grep ssh 若存在即可,可以连接sshserver。