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移植 打包根文件系统的第一步相关推荐

  1. Linux之系统移植与根文件系统构建

    Linux之系统移植与根文件系统构建 1.Uboot 1. 什么是Uboot: 一个裸机程序 就是一个bootloader用于启动Linux或其他系统 最主要的工作就是初始化DDR.因为Linux是运 ...

  2. linux 内核移植和根文件系统的制作【转载】

    原文地址:http://www.cnblogs.com/hnrainll/archive/2011/06/09/2076214.html 1.1 Linux内核基础知识 在动手进行Linux内核移植之 ...

  3. Linux内核移植和根文件系统制作(详细步骤精讲)

    第一章移植内核 1.1 Linux内核基础知识 1.1.1 Linux版本 1.1.2 什么是标准内核 1.1.3 Linux操作系统的分类 1.1.4 linux内核的选择 1.2 Linux内核启 ...

  4. Linux-2.6.32.2内核在mini2440上的移植(四)---根文件系统制作(1)

    移植环境(红色粗字体字为修改后内容,蓝色粗体字为特别注意内容) 1,主机环境:VMare下CentOS 5.5 ,1G内存. 2,集成开发环境:Elipse IDE 3,编译编译环境:arm-linu ...

  5. s5pv210 linux内核移植,简单根文件系统制作 - S5PV210 Linux3.8.3内核移植_Linux编程_Linux公社-Linux系统门户网站...

    1.这里为什么选nfs文件系统呢? 在产品开发阶段,因为nfs根文件系统并不需要编译进内核,方便调试. 2.制作根文件系统需要用到BusyBox 解压进入busybox目录: root@linuxid ...

  6. 野火i.MX6ULL Pro开发板构建根文件系统

    眼瞅着2020年马上就要到头了,承诺给大家的Linux移植三部曲还差最后一篇,这个拖延癌晚期恐怕今年是治不好了,不到最后的DL绝不妥协-- (这句话是年前写的,写了个开头就疫情了,封城,电脑丢在了公司 ...

  7. 根文件系统的构建和移植

    一.buildroot构建根文件系统 1. 配置buildroot make menuconfig Target options #配置项目参数-> Target Architecture = ...

  8. 【正点原子MP157连载】第十九章 Buildroot根文件系统构建-摘自【正点原子】STM32MP1嵌入式Linux驱动开发指南V1.7

    1)实验平台:正点原子STM32MP157开发板 2)购买链接:https://item.taobao.com/item.htm?&id=629270721801 3)全套实验源码+手册+视频 ...

  9. 使用busybox制作根文件系统(rootfs)

    我们知道一个linux的启动过程,包括BIOS的加电自检POST,拷贝MBR的信息(启动BootLoader),加载内核,挂载根文件安系统这几大步,在嵌入式系统的移植方面我们也要自己动手制作内核映像, ...

最新文章

  1. jQuery 中 attr() 和 prop() 方法的区别
  2. 音视频解决方案之二次开发
  3. 外汇汇率接口 java_基于JAVA的货币汇率api调用代码实例
  4. Javascript实现信息滚动效果的方法
  5. 方法调方法(委托方式)
  6. 纪念一下我这尴尬中二的排名吧
  7. mysql中to_char()和str_to_date()函数
  8. office2012产品密钥
  9. SP4354 TWINSNOW - Snowflakes
  10. js实现表格列的位置拖拽
  11. IT行业里的热门技术和项目分享
  12. 英语学习详细笔记(十五)被动语态
  13. COCO数据集可视化程序(包括bbox和segmentation)
  14. 企业数字化办公利器——华为云桌面Workspace
  15. 互联网因特网计算机网络的区别,因特网和互联网的区别?
  16. 微信小程序 首行缩进无效
  17. 为什么很多程序员没有升级到架构师?
  18. 大公司内部的标准开发文档模板下载
  19. 高中分班考试如何计算机,高中分班是怎么分的
  20. 国嵌 c语言,专题3-6.#和##运算符使用解析(国嵌C语言视频)

热门文章

  1. UG12.0四五多轴编程加工实战案例视频教程
  2. Cookie——设置cookie
  3. 苹果M1「徒有其表」?「地表最强」芯只能剪视频引知乎热议
  4. biginteger 原理_BigInteger实现原理
  5. 小白攻略1——Suface Pro安装win10 专业版的方法流程
  6. 【一】MySql优化概述 + MySql架构与存储引擎
  7. 花嫁之容氏浅浅最后怎么样了_花嫁之容氏浅浅
  8. java获取当前日期的下一天,以后的第n天
  9. 求证 intent传递大数据限制
  10. 为什么禁用拷贝(复制)构造函数