OpenSSH移植到Linux开发板

文章目录

    • OpenSSH移植到Linux开发板
  • 前言
  • 一、移植zlib库
  • 二、 移植openssl库
  • 三、 移植openssh库
    • 1. 在开发板中创建目录
    • 2. 将文件拷贝到对应目录下
    • 3. 创建对应软连接
  • 4. 开发板上生成密钥文件
  • 5. 开启SSH

前言

在Linux开发中,有时候需要远程登录到开发板上对系统进行一些操作,这个时候就需要用到SSH服务。SSH(Secure Shell 安全外壳协议)是较可靠,专为远程登录会话和其他网络服务提供安全性的协议,OpenSSH是SSH协议的一个免费开源版本。

这里一共需要移植三个软件包:zlib,openssl和openssh,可依次到官网下载对应的源码:
zlib官网:http://www.zlib.net/
openssl 官网:https://www.openssl.org/source/
opnssh 官网: http://www.openssh.com


提示:以下是本篇文章正文内容,下面案例可供参考

一、移植zlib库

在官网我下载的是1.2.11版本的,将下载的zlib-1.2.11.tar.gz 拷贝到本地Ubuntu中进行解压

tar -xvzf zlib-1.2.11.tar.gz

解压完成后,创建一个zlib文件夹,然后进行解压后的zlib-1.2.11 源码文件中,配置并编译

#1. 配置命令
CC=arm-linux-gnueabihf-gcc
LD=arm-linux-gnueabihf-ld
AD=arm-linux-gnueabihf-as
./configure --prefix=/home/hx/linux/tools/zlib
#注意 以上命令以空格为界,这里为了美观 用了换行
#CC LD AD是根据自己所使用的交叉编译器配置
#--prefix 是之前创建zlib目录所在的路径#2. 配置完成 开始编译
make
#3. 开始安装
make install

编译完成后,将zlib目录下的lib中库文件移植到开发板的/lib目录下

二、 移植openssl库

在官网下载的是1.1版本的,将下载的openssl-1.1.ld.tar.gz拷贝到本地Ubuntu中,并解压

tar -xvzf openssl-1.1.ld.tar.gz

解压完成后,创建一个openssl文件夹,然后进行解压后的openssl-1.1.ld 源码文件中,配置并编译

#1. 配置命令
./Configure linux-armv4 shared no-asm
--prefix=/home/hx/linux/tools/openssl
CROSS_COMPILE=arm-linux-gnueabihf-
#注意 以上命令以空格为界,这里为了美观 用了换行
#linux-armv4 是32位ARM凭条 没有armv7的选项
#--prefix 是之前创建openssl目录所在的路径#2. 配置完成 开始编译
make
#3. 开始安装
make install

编译完成后会在openssl/lib下生成libcrypto和libssl库,将这些库拷贝到开发板的/usr/lib目录下

三、 移植openssh库

在官网下载到openssh-8.2p1.tar.gz,拷贝到本地Ubuntu中并解压

tar -xvzf openssh-8.2p1.tar.gz

解压后进入到openssh-8.2p1目录,开始配置和编译

#1. 配置
./configure --host=arm-linux-gnueabihf --with-libs
--with-zlib=/home/hx/linux/tools/zlib --with-ssl-dir=/home/hx/linux/tools/openssl
--disable-etcdefault-login CC=arm-linux-gnueabihf-gcc
AR=arm-linux-gnueabihf-ar //配置
#注意 以上命令以空格为界,这里为了美观 用了换行
#--with-zlib参数用于指定 zlib 库所在的目录
#--with-ssl-dir参数用于指定 openssl 库所在的目录
#2. 编译 不用make install
make

将编译完成后的文件移植到linux开发板中

1. 在开发板中创建目录

在开发板创建以下目录

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

2. 将文件拷贝到对应目录下

1. /usr/local/bin 拷贝以下文件
scp sftp ssh ssh-add ssh-agent ssh-keygen ssh-keyscan2. /usr/local/sbin 拷贝sshd
3. /usr/local/etc 拷贝moduli ssh_config sshd_config
4. /usr/local/libexec 拷贝sftp-server ssh-keysign

3. 创建对应软连接

cd /bin/
ln -s /usr/local/bin/scp
ln -s /usr/local/bin/sftp
ln -s /usr/local/bin/ssh
ln -s /usr/local/bin/ssh-add
ln -s /usr/local/bin/ssh-agent
ln -s /usr/local/bin/ssh-keygen
ln -s /usr/local/bin/ssh-keyscancd /sbin/
ln -s /usr/local/sbin/sshd

软连接创建完成以后就可以直接调用上面 ssh 相关命令了

将/usr/local/etc/sshd_config文件的 #PermitRootLogin改为
PermitRootLogin yes

4. 开发板上生成密钥文件

进入到开发板/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 ""

完成以后就会在/usr/local/etc 目录下产生 8 个以“ssh_host_”开头的秘钥文件

5. 开启SSH

直接输入命令

/sbin/sshd //启动 sshd 服务#也可以在/etc/init.d/rcS 文件中加入如下命令,实现 ssh 服务开机自启动
/sbin/sshd &

OpenSSH移植到Linux开发板相关推荐

  1. 【嵌入式Linux应用】初步移植MQTT到Ubuntu和Linux开发板

    1. 概述 ​ 本篇主要是记录将MQTT移植安装到百问网STM32MP157开发板上,并且是跑一下MQTT的一个例程来验证,要完成本次移植安装,必须要保证电脑和开发板都能上网.. 2. 软件平台 ​ ...

  2. 移植中文TTS(ekho)到ARM linux开发板

    移植ekho到arm linux,实现将中文转换为.wav格式的语音文件. 移植开源库libsndfile到arm linux开发板 1. 下载压缩源码包libsndfile-1.0.28.tar.g ...

  3. RV1109开发板ssh服务器移植到arm开发板

    RV1109开发板ssh服务器移植到arm开发板 ssh功能移植到RV1109开发板的,由于RV1109的SDK中,没有telnet功能,有时候adb功能在量产中需要关闭,避免造成设备留有漏洞,造成安 ...

  4. 移植dropbear到开发板

    添加dropbear功能 介绍 由于OpenSSH因为其相对较大,一般不太适用于嵌入式平台,多用于PC或者服务器的Linux版本中.而Dropbear是由Matt Johnston所开发的Secure ...

  5. 移植tslib到开发板及部分问题解决

    qt的tslib的具体移植步骤和过程就不多讲了,我说说我按照手册移植好tslib后在开发板运行提示的错误以及我的解决方法,当然每个人的提示可能一样,解决方法就不一样,我也是个初学者,所以方法仅供大家参 ...

  6. 移植wxX11到开发板上

    最近几天由于工作安排,要将wxX11程序移植到arm开发板上.一连工作了好几天,终于可以在板子上显示出一个"X"号,并且可以运行wxWidgets里面的程序,算是成功了.现就一些步 ...

  7. apache arm 交叉编译_Apache 2移植到Arm开发板的过程整理——如何交叉编译Apache 2

    话说要在arm开发板的linux系统中运行apache服务器,需要在pc linux系统中交叉编译Apache源码,在网上参考了很多资料都是1.3版本的,最后终于找到apache 2移植到arm开发板 ...

  8. 基于正点原子Linux开发板(ALIENTEK I.MX6U ALPHA V2.2)的个人自学记录

    基于正点原子Linux开发板(ALIENTEK I.MX6U ALPHA V2.2)的个人自学记录 硬件环境 正点原子Linux开发板(ALIENTEK I.MX6U ALPHA V2.2) 底板+核 ...

  9. Qt5.14.2移植到SOM-RK3399开发板

    Qt5.14.2移植到SOM-RK3399开发板 1. 主机开发环境 2. 安装aarch64-linux-gnu-g++交叉编译工具 3. 移植Qt 3.1 修改Qt源码中的Makefile说明文档 ...

  10. Qt5.14.2移植到SOM-RK3399开发板上的问题解决办法

    Qt5.14.2移植到SOM-RK3399开发板上的问题解决办法 1. 概述 2. 配置Qt5.9.5 2.1 mkspec配置文件 2.2 配置脚本 2.3 执行make docs时出现的错误 2. ...

最新文章

  1. 分治——最近点对问题 hdu1007
  2. 看了这7篇论文,你会完全掌握卷积神经网络!
  3. 天翼云从业认证课后习题(第一章和第二章)
  4. 第1节:C语言发展及基本格式步骤
  5. 【更名通知】将以个人名义继续更新维护
  6. FizzBu​​zz Kata与Java流
  7. Node 连接Mysql并进行增删改查
  8. K8s与Docker
  9. T1013 求先序排列 codevs
  10. 【必收藏】台大李宏毅老师课程 | 资源汇总、笔记总结与索引
  11. 7塞班贝拉系统下载_远观JAVA,近观鸿蒙,盘点那些年我们用过的手机系统
  12. GB50311-2007综合布线工程设计规范
  13. Git 码云 上传 本地项目 步骤/创建分支
  14. 风靡健身圈的生酮饮食居然有这么多好处,受教了
  15. PCIe+Switch高速存储方案设计
  16. centos7.2下安装php7.1缺少依赖包汇总(初稿)
  17. 异常,Map,File
  18. android网易云信使用方法,网易云信Android版demo修改为自己所用
  19. 不刷机,京东云路由进openwrt后台
  20. Windows CMD命令行一启动就闪退问题解决

热门文章

  1. .NET反编译:使用NET.Reflector+Reflexil插件相结合实现对DLL文件的修改操作
  2. 单片机 AD/DA数模转换
  3. 远程计算机怎么桌面显示不全,win7系统连接远程桌面却不能全屏显示解决方法...
  4. 电脑鼠标右键应用卡死、转圈圈、资源管理器关闭等问题
  5. 如何修改openwrt路由器的密码_openwrt路由器改WiFi密码_openwrt wireless密码修改
  6. 002 免格式化U盘部署PE(BIOS)
  7. 光遇脚本弹琴_光遇自动弹琴脚本下载
  8. CF gym Coins(01背包计数)
  9. C#自定义控件添加到工具箱:
  10. 论文查重软件怎么选择