ssh移植 打包根文件系统的第一步
ssh移植
1.网络配置(实现开发板与主机的通信)
配置虚拟机的ip地址与开发板的ip地址在同一网段下
设置电脑的以太网与他们同一网段
2、复制开发板的文件系统到虚拟机生成镜像
1、使用ssh工具
SSH 为 Secure Shell 的缩写,由 IETF 的网络工作小组(Network Working Group)所制定;SSH 为建立在应用层和传输层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。SSH在正确使用时可弥补网络中的漏洞。SSH客户端适用于多种平台。几乎所有UNIX平台-包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平台,都可运行SSH。
传统的网络传输协议,如ftp、pop和telnet在本质上都是不安全的,因为它们在网络上用明文传送口令和数据,别有用心的人非常容易就可以截获这些口令和数据。而且,这些服务程序的安全验证方式也是有其弱点的, 就是很容易受到"中间人"(man-in-the-middle)这种方式的攻击。所谓"中间人"的攻击方式, 就是"中间人"冒充真正的服务器接收你传给服务器的数据,然后再冒充你把数据传给真正的服务器。服务器和你之间的数据传送被"中间人"一转手做了手脚之后,就会出现很严重的问题。通过使用SSH,可以把所有传输的数据进行加密,这样"中间人"这种攻击方式就不可能实现了,而且也能够防止DNS欺骗和IP欺骗。
使用SSH,还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。SSH有很多功能,它既可以代替Telnet,又可以为FTP、PoP、甚至为PPP提供一个安全的"通道"。
2、移植ssh到开发板中(先查看开发板中是否带有ssh)
查看是否有ssh:cd /usr/local/bin 中是否存在
3、移植步骤:
1、主机
下载源码
zlib-1.2.8.tar.gzhttp://www.zlib.net/fossils/
openssl-0.9.8d.tar.gz:http://www.zlib.net/fossils/
openssh-7.7p1.tar.gz:https://fastly.cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/
他们之间没有兼容的问题,版本可以下载最新的
创建文件夹
compressed:用来存放压缩包
source:用来存放解压后的文件
install:用来存放make生成的一些文件
解压文件
tar -zxvf zlib-1.2.11.tar.gz -C ../source/
tar -zxvf openssl-1.1.1i.tar.gz -C ../source/
tar -zxvf openssh-8.4p1.tar.gz -C ../source/
配置
打开zlib下的Makefile内容如下,需要先配置configure
配置
./configure --prefix=/home/lzz/work/ssh/install/zlib
/*--prefix:要安装的位置*/
修改Makefile
这时的Makefile中就有内容了
修改的主要是
CC=gcc修改为
CC=arm-none-linux-gnueabi-gcc
这两个地方也要修改,修改后如下图
执行
make
make install
回到openssl目录下,会发现没有Makefile文件
配置之后就会出现Makefile文件
/config no-asm shared no-async --prefix=/home/lzz/work/ssh/install/openssl --cross-compile-prefix=arm-none-linux-gnueabi-
直接编译会出现错误
error: unrecognized command line option '-m64
修改Makefile
屏蔽掉
执行
make
make install
打开openssh目录
配置
./configure --host=arm-none-linux-gnueabi --with-libs --with-zlib=/home/lzz/work/ssh/install/zlib --with-ssl-dir=/home/lzz/work/ssh/install/opessl --disable-etc-default-login CC=arm-none-linux-gnueabi-gcc AR=arm-none-linux-gnueabi-ar
完成后执行
make
运行
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 dsa -f ssh_host_ed25519_key -N ""
将生成的“ssh_host_rsa_key”“ssh_host_dsa_key”“ssh_host_ecdsa_key”和
“ssh_host_ed25519_key”文件,拷贝到开发板的“/usr/local/etc/”目录,然后将其权限修改为 600
2、开发板
创建文件
/usr/local/bin
/usr/local/etc
/usr/libexec
/var/run
/var/empty/sshd将 openssh目录下文件拷贝到开发板系统中,具体为:
scp、sftp、ssh 、ssh-add、ssh-agent、ssh-keygen、ssh-keyscan共7个文件拷贝到开发板/usr/local/bin
moduli、ssh_config、sshd_config共3个文件拷贝到开发板 /usr/local/etc
sftp-server、ssh-keysign 共2个文件拷贝到开发板 /usr/libexec
sshd 拷贝到/usr/sbin
修改密钥
使用命令“vi /etc/passwd”,打开 ssh 秘钥文件,在
“/etc/passwd”文件底行添加以下内容:
sshd:x:74:74:Privilege-separatedSSH:/var/empty/sshd:/sbin/nologin
##### 修改密钥使用命令“vi /etc/passwd”,打开 ssh 秘钥文件,在“/etc/passwd”文件底行添加以下内容:
sshd : x:74:74:Privilege-separated
SSH:/var/empty/sshd:/sbin/nologin
添加完成之后,然后保存,
ssh移植 打包根文件系统的第一步相关推荐
- Linux之系统移植与根文件系统构建
Linux之系统移植与根文件系统构建 1.Uboot 1. 什么是Uboot: 一个裸机程序 就是一个bootloader用于启动Linux或其他系统 最主要的工作就是初始化DDR.因为Linux是运 ...
- linux 内核移植和根文件系统的制作【转载】
原文地址:http://www.cnblogs.com/hnrainll/archive/2011/06/09/2076214.html 1.1 Linux内核基础知识 在动手进行Linux内核移植之 ...
- Linux内核移植和根文件系统制作(详细步骤精讲)
第一章移植内核 1.1 Linux内核基础知识 1.1.1 Linux版本 1.1.2 什么是标准内核 1.1.3 Linux操作系统的分类 1.1.4 linux内核的选择 1.2 Linux内核启 ...
- Linux-2.6.32.2内核在mini2440上的移植(四)---根文件系统制作(1)
移植环境(红色粗字体字为修改后内容,蓝色粗体字为特别注意内容) 1,主机环境:VMare下CentOS 5.5 ,1G内存. 2,集成开发环境:Elipse IDE 3,编译编译环境:arm-linu ...
- s5pv210 linux内核移植,简单根文件系统制作 - S5PV210 Linux3.8.3内核移植_Linux编程_Linux公社-Linux系统门户网站...
1.这里为什么选nfs文件系统呢? 在产品开发阶段,因为nfs根文件系统并不需要编译进内核,方便调试. 2.制作根文件系统需要用到BusyBox 解压进入busybox目录: root@linuxid ...
- 野火i.MX6ULL Pro开发板构建根文件系统
眼瞅着2020年马上就要到头了,承诺给大家的Linux移植三部曲还差最后一篇,这个拖延癌晚期恐怕今年是治不好了,不到最后的DL绝不妥协-- (这句话是年前写的,写了个开头就疫情了,封城,电脑丢在了公司 ...
- 根文件系统的构建和移植
一.buildroot构建根文件系统 1. 配置buildroot make menuconfig Target options #配置项目参数-> Target Architecture = ...
- 【正点原子MP157连载】第十九章 Buildroot根文件系统构建-摘自【正点原子】STM32MP1嵌入式Linux驱动开发指南V1.7
1)实验平台:正点原子STM32MP157开发板 2)购买链接:https://item.taobao.com/item.htm?&id=629270721801 3)全套实验源码+手册+视频 ...
- 使用busybox制作根文件系统(rootfs)
我们知道一个linux的启动过程,包括BIOS的加电自检POST,拷贝MBR的信息(启动BootLoader),加载内核,挂载根文件安系统这几大步,在嵌入式系统的移植方面我们也要自己动手制作内核映像, ...
最新文章
- jQuery 中 attr() 和 prop() 方法的区别
- 音视频解决方案之二次开发
- 外汇汇率接口 java_基于JAVA的货币汇率api调用代码实例
- Javascript实现信息滚动效果的方法
- 方法调方法(委托方式)
- 纪念一下我这尴尬中二的排名吧
- mysql中to_char()和str_to_date()函数
- office2012产品密钥
- SP4354 TWINSNOW - Snowflakes
- js实现表格列的位置拖拽
- IT行业里的热门技术和项目分享
- 英语学习详细笔记(十五)被动语态
- COCO数据集可视化程序(包括bbox和segmentation)
- 企业数字化办公利器——华为云桌面Workspace
- 互联网因特网计算机网络的区别,因特网和互联网的区别?
- 微信小程序 首行缩进无效
- 为什么很多程序员没有升级到架构师?
- 大公司内部的标准开发文档模板下载
- 高中分班考试如何计算机,高中分班是怎么分的
- 国嵌 c语言,专题3-6.#和##运算符使用解析(国嵌C语言视频)