0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

开发板openssh移植步骤

启扬ARM嵌入式开发 2022-09-05 11:23 次阅读

SSH简介

SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定,为建立在应用层基础上的安全协议。通过对密码进行加密传输验证,可在不安全的网络中对网络服务提供安全的传输环境,实现ssh客户端和ssh服务器端的连接。在Linux类的设备或相关设置中,要实现修改网络、远程控制之类的操作,几乎都会涉及到SSH操作。

OpenSSH 是 SSH (Secure SHell) 协议的免费开源实现,提供了服务端后台程序和客户端工具,用来加密远程控制和文件传输过程中的数据。

开发板SSH服务移植

openssh依赖于zlib库和openssl库,所以安装openssh需要安装编译三个组件,分别为zlib、openssl和openssh。

#下载地址

zlib:http://www.zlib.net/

openssl:https://www.openssl.org/source/

openssh:https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/

zlib编译

1.下载zlib库

wget http://www.zlib.net/zlib-1.2.12.tar.gz

2.解压zlib库

tar -zxf zlib-1.2.12.tar.gz

3.编译zlib

首先新建一个文件夹来存放编译结果

mkdir zlib

进入zlib源码目录,配置编译器选项,例如:

export CC=arm-linux-gnueabihf-gcc
export LD=arm-linux-gnueabihf-ld
export AD=arm-linux-gnueabihf-as

配置编译路径

./configure --prefix=/home/qiyang/imx6ull/openssh/zlib

此时生成一个Makefile文件,我们需要修改Makefile指定与路径无关,在如图所示位置添加-fPIC

701e2644-2ad9-11ed-9ade-dac502259ad0.png

最后执行make && make install命令,进行编译安装;并将编译出来的结果拷贝到开发板的/lib目录下。

openssl编译

1.下载openssl

wget https://www.openssl.org/source/openssl-3.0.2.tar.gz

2.解压openssl库

tar -zxf openssl-3.0.2.tar.gz

3.编译openssl

首先建立一个文件夹存放编译结果

mkdir openssl

配置编译器

export CROSS_COMPILE=arm-linux-gnueabihf-

配置编译路径

./Configure linux-armv4 shared no-asm --prefix=/home/qiyang/imx6ull/openssh/openssl

最后执行make && make install命令,进行编译安装;并将编译出来的结果拷贝到开发板的/lib目录下。

openssh编译

1.下载openssh

wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.9p1.tar.gz

2.解压

tar -zxf openssh-8.9.tar.gz

3.编译openssh

配置

./configure --host=arm-linux-gnueabihf --with-libs --with-zlib=/home/qiyang/imx6ull/openssh/zlib --with-ssl-dir=/home/qiyang/imx6ull/openssh/openssl --disable-etcdefault-login CC=arm-linux-gnueabihf-gcc AR=arm-linux-gnueabihf-ar

最后make,配置编译器和zlib、openssl库的目录。

4.安装

首先在开发板上创建以下目录

mkdir -p /usr/local/bin
mkdir -p /usr/local/sbin
mkdir -p /usr/local/libexec/
mkdir -p /usr/local/etc
mkdir -p /var/run
mkdir -p /var/empty/

将编译完成的文件分别复制到开发板目录下。

将scp、sftp、ssh、ssh-add、ssh-agent、ssh-keygen、ssh-keyscan复制到/usr/local/bin目录下;

将sshd复制到/usr/local/sbin目录下;

将moduli、ssh_config、sshd_config复制到/usr/local/etc目录下;

将sftp-server、ssh-keysign复制到 /usr/local/libexec目录下;

5.修改passwd

在/etc/passwd 中添加下面这一行

sshd:x:74:74:Privilege-separatedSSH:/var/empty/sshd:/sbin/nologin

6.生成密钥

在/usr/local/etc/目录下,使用如下命令生成密钥

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

需要给ssh和sshd添加可执行权限,

ssh在root/usr/local/bin目录下

chmod +x ssh

sshd在/usr/local/sbin/目录下

chmod +x sshd

7.修改/usr/local/etc/sshd_config文件内容

1.将PasswordAuthentication yes前的注释#去掉;

2.将#PermitRootLogin yes前的注释#去掉;

3.将#PermitEmptyPasswords no 修改为PermitEmptyPasswords yes

8.开启ssh服务

7047d408-2ad9-11ed-9ade-dac502259ad0.png

如上所示执行即可开启sshd服务,使用ps命令可以看到该进程在运行

705af556-2ad9-11ed-9ade-dac502259ad0.png

通过上述操作,openssh服务已经在开发板上移植好了,此时使用电脑上的ssh工具就可以连接到开发板了。

706fa0d2-2ad9-11ed-9ade-dac502259ad0.png

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 开发板
    +关注

    关注

    25

    文章

    5208

    浏览量

    99106
收藏 人收藏

    评论

    相关推荐

    ElfBoard技术贴|如何在ELF 1开发板上交叉移植Qt

    在嵌入式系统开发领域,针对特定硬件平台进行Qt框架的移植与适配是一项关键技术任务。作为业界主流的跨平台应用开发框架,Qt凭借其完善的图形界面支持能力,在嵌入式开发图形界面应用程序中占据
    的头像 发表于 02-24 16:18 231次阅读
    ElfBoard技术贴|如何在ELF 1<b class='flag-5'>开发板</b>上交叉<b class='flag-5'>移植</b>Qt

    【迅为】瑞芯微RK3588开发板RK3568开发板区别及优势

    RK3568开发板
    的头像 发表于 11-18 14:19 865次阅读
    【迅为】瑞芯微RK3588<b class='flag-5'>开发板</b>RK3568<b class='flag-5'>开发板</b>区别及优势

    【RA8D1试用活动】RA8D1B-CPKCOR开发板移植linux

    【RA8D1试用活动】RA8D1B-CPKCOR开发板移植linux
    的头像 发表于 11-16 01:02 426次阅读
    【RA8D1试用活动】RA8D1B-CPKCOR<b class='flag-5'>开发板</b><b class='flag-5'>移植</b>linux

    基于哪吒开发板部署YOLOv8模型

    2024英特尔 “走近开发者”互动活动-哪吒开发套件免费试 用 AI 创新计划:哪吒开发板是专为支持入门级边缘 AI 应用程序和设备而设计,能够满足人工智能学习、开发、实训等应用场景。
    的头像 发表于 11-15 14:13 604次阅读
    基于哪吒<b class='flag-5'>开发板</b>部署YOLOv8模型

    正点原子fpga开发板不同型号

    正点原子作为国内领先的FPGA开发板供应商,其产品线覆盖了从入门级到高端应用的各个领域。这些开发板不仅适用于学术研究,还广泛应用于工业控制、通信、图像处理等多个领域。 1. 入门级开发板 1.1
    的头像 发表于 11-13 09:30 1762次阅读

    51开发板芯片资料

    51开发板芯片资料
    发表于 09-18 09:29 1次下载

    树莓派和arm开发板的区别

    树莓派(Raspberry Pi)和ARM开发板都是基于ARM架构的微型计算机,但它们之间存在一些关键区别。 一、历史背景 树莓派(Raspberry Pi) 树莓派是由英国树莓派基金会
    的头像 发表于 08-30 15:36 1427次阅读

    linux开发板与树莓派的区别

    定义和用途 Linux开发板:Linux开发板是一种基于Linux操作系统的嵌入式开发板,通常用于工业自动化、物联网、智能家居等领域。 树莓派:树莓派(Raspberry Pi)是一种基于Linux
    的头像 发表于 08-30 15:34 1330次阅读

    linux开发板如何编译curl

    在Linux开发板上编译 curl 库通常涉及到几个步骤,包括准备开发环境、下载源代码、配置编译选项以及执行编译和安装过程。以下是一个基本的指南,帮助你在Linux开发板上编译 cur
    的头像 发表于 08-30 15:33 929次阅读

    linux开发板和单片机开发的区别

    硬件架构 Linux开发板和单片机开发在硬件架构上有很大的区别。Linux开发板通常基于ARM、x86或其他处理器架构,具有较高的处理能力和内存容量。而单片机开发则基于微控制器,如80
    的头像 发表于 08-30 15:30 1460次阅读

    第2章_开发板使用

    本课程使用 ST-Link 给开发板供电、烧录、调试。
    的头像 发表于 06-29 14:25 2937次阅读
    第2章_<b class='flag-5'>开发板</b>使用

    米尔基于NXP iMX.93开发板的M33处理器应用开发笔记

    资源MYD-LMX9X开发板(米尔基于NXPiMX.93开发板)3.软件资源Windows7及以上版本软件:IAREmbeddedWorkbench4.板载固件调试
    的头像 发表于 06-29 08:01 1665次阅读
    米尔基于NXP iMX.93<b class='flag-5'>开发板</b>的M33处理器应用<b class='flag-5'>开发</b>笔记

    鸿蒙OpenHarmony开发板解析:【芯片解决方案】

    芯片解决方案是指基于某款开发板的完整解决方案,包含驱动、设备侧接口适配、开发板sdk等。
    的头像 发表于 05-10 15:42 1388次阅读
    鸿蒙OpenHarmony<b class='flag-5'>开发板</b>解析:【芯片解决方案】

    fpga开发板是什么?fpga开发板有哪些?

    FPGA开发板是一种基于FPGA(现场可编程门阵列)技术的开发平台,它允许工程师通过编程来定义和配置FPGA芯片上的逻辑电路,以实现各种数字电路和逻辑功能。FPGA开发板通常包括FPGA芯片、时钟模块、电源模块、输入输出接口等组
    的头像 发表于 03-14 18:20 2516次阅读

    fpga开发板使用教程

    FPGA开发板的使用教程主要包括以下几个关键步骤
    的头像 发表于 03-14 15:50 1382次阅读