OpenSSH移植到Linux开发板
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开发板相关推荐
- 【嵌入式Linux应用】初步移植MQTT到Ubuntu和Linux开发板
1. 概述 本篇主要是记录将MQTT移植安装到百问网STM32MP157开发板上,并且是跑一下MQTT的一个例程来验证,要完成本次移植安装,必须要保证电脑和开发板都能上网.. 2. 软件平台 ...
- 移植中文TTS(ekho)到ARM linux开发板
移植ekho到arm linux,实现将中文转换为.wav格式的语音文件. 移植开源库libsndfile到arm linux开发板 1. 下载压缩源码包libsndfile-1.0.28.tar.g ...
- RV1109开发板ssh服务器移植到arm开发板
RV1109开发板ssh服务器移植到arm开发板 ssh功能移植到RV1109开发板的,由于RV1109的SDK中,没有telnet功能,有时候adb功能在量产中需要关闭,避免造成设备留有漏洞,造成安 ...
- 移植dropbear到开发板
添加dropbear功能 介绍 由于OpenSSH因为其相对较大,一般不太适用于嵌入式平台,多用于PC或者服务器的Linux版本中.而Dropbear是由Matt Johnston所开发的Secure ...
- 移植tslib到开发板及部分问题解决
qt的tslib的具体移植步骤和过程就不多讲了,我说说我按照手册移植好tslib后在开发板运行提示的错误以及我的解决方法,当然每个人的提示可能一样,解决方法就不一样,我也是个初学者,所以方法仅供大家参 ...
- 移植wxX11到开发板上
最近几天由于工作安排,要将wxX11程序移植到arm开发板上.一连工作了好几天,终于可以在板子上显示出一个"X"号,并且可以运行wxWidgets里面的程序,算是成功了.现就一些步 ...
- apache arm 交叉编译_Apache 2移植到Arm开发板的过程整理——如何交叉编译Apache 2
话说要在arm开发板的linux系统中运行apache服务器,需要在pc linux系统中交叉编译Apache源码,在网上参考了很多资料都是1.3版本的,最后终于找到apache 2移植到arm开发板 ...
- 基于正点原子Linux开发板(ALIENTEK I.MX6U ALPHA V2.2)的个人自学记录
基于正点原子Linux开发板(ALIENTEK I.MX6U ALPHA V2.2)的个人自学记录 硬件环境 正点原子Linux开发板(ALIENTEK I.MX6U ALPHA V2.2) 底板+核 ...
- Qt5.14.2移植到SOM-RK3399开发板
Qt5.14.2移植到SOM-RK3399开发板 1. 主机开发环境 2. 安装aarch64-linux-gnu-g++交叉编译工具 3. 移植Qt 3.1 修改Qt源码中的Makefile说明文档 ...
- 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. ...
最新文章
- 分治——最近点对问题 hdu1007
- 看了这7篇论文,你会完全掌握卷积神经网络!
- 天翼云从业认证课后习题(第一章和第二章)
- 第1节:C语言发展及基本格式步骤
- 【更名通知】将以个人名义继续更新维护
- FizzBu​​zz Kata与Java流
- Node 连接Mysql并进行增删改查
- K8s与Docker
- T1013 求先序排列 codevs
- 【必收藏】台大李宏毅老师课程 | 资源汇总、笔记总结与索引
- 7塞班贝拉系统下载_远观JAVA,近观鸿蒙,盘点那些年我们用过的手机系统
- GB50311-2007综合布线工程设计规范
- Git 码云 上传 本地项目 步骤/创建分支
- 风靡健身圈的生酮饮食居然有这么多好处,受教了
- PCIe+Switch高速存储方案设计
- centos7.2下安装php7.1缺少依赖包汇总(初稿)
- 异常,Map,File
- android网易云信使用方法,网易云信Android版demo修改为自己所用
- 不刷机,京东云路由进openwrt后台
- Windows CMD命令行一启动就闪退问题解决
热门文章
- .NET反编译:使用NET.Reflector+Reflexil插件相结合实现对DLL文件的修改操作
- 单片机 AD/DA数模转换
- 远程计算机怎么桌面显示不全,win7系统连接远程桌面却不能全屏显示解决方法...
- 电脑鼠标右键应用卡死、转圈圈、资源管理器关闭等问题
- 如何修改openwrt路由器的密码_openwrt路由器改WiFi密码_openwrt wireless密码修改
- 002 免格式化U盘部署PE(BIOS)
- 光遇脚本弹琴_光遇自动弹琴脚本下载
- CF gym Coins(01背包计数)
- C#自定义控件添加到工具箱:
- 论文查重软件怎么选择