前言

在编译海思SDK时,会自动编译openssl,zlib,故无需重复编译这两者。

编译

编译openssh

本文下载openssh-7.3p1版本,将其下载至虚拟机

tar -xvf openssh-7.3p1.tar.gz
./configure --host=arm-linux --prefix=/usr/local/openssh --with-zlib=/hi3798/HiSTBLinuxV100R005C00SPC050/out/hi3798mv200/hi3798mv2dmo/obj/source/component/zlib/release --with-ssl-dir=/hi3798/HiSTBLinuxV100R005C00SPC050/out/hi3798mv200/hi3798mv2dmo/obj/source/component/openssl/release --disable-etc-default-login --disable-strip CC=arm-histbv320-linux-gcc AR=arm-histbv320-linux-ar

使前缀--prefix=/usr/local/openssh,因为最后openssh使安装在开发板的这个目录下,/hi3798/HiSTBLinuxV100R005C00SPC050/out/hi3798mv200/hi3798mv2dmo/obj/source/component/zlib/release是zlib在虚拟机下的安装目录,--with-ssl-dir=/hi3798/HiSTBLinuxV100R005C00SPC050/out/hi3798mv200/hi3798mv2dmo/obj/source/component/openssl/release 是ssl在虚拟机下的安装目录。

然后在openssh源目录下执行make

make

最终会在该目录下生成一下12个文件

scp sftp ssh ssh-add ssh-agent ssh-keygen ssh-keyscan moduli ssh_config sshd_config sftp-server ssh-keysign

到目录下/hi3798/HiSTBLinuxV100R005C00SPC050/source/rootfs/scripts目下解压rootfs.tar.bz2,得到rootfs文件夹,并且在rootfs文件夹下创建一下目录

/usr/local/openssh/bin
/usr/local/openssh/etc
/usr/local/libexec
/var/run
/var/empty

将以下文件拷贝到/hi3798/HiSTBLinuxV100R005C00SPC050/source/rootfs/scripts/rootfs/usr/local/openssh/bin目录下:

在根文件系统的bin目录下建立软连接

ln -snf /usr/local/openssh/bin/scp
ln -snf /usr/local/openssh/bin/sftp
ln -snf /usr/local/openssh/bin/ssh
ln -snf /usr/local/openssh/bin/ssh-add
ln -snf /usr/local/openssh/bin/ssh-agent
ln -snf /usr/local/openssh/bin/ssh-keygen
ln -snf /usr/local/openssh/bin/ssh-keyscan
ln -snf /usr/local/openssh/bin/sshd

将moduli ssh_config sshd_config三个文件拷贝到/hi3798/HiSTBLinuxV100R005C00SPC050/source/rootfs/scripts/rootfs/usr/local/openssh/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 ""

至此,/hi3798/HiSTBLinuxV100R005C00SPC050/source/rootfs/scripts/rootfs/usr/local/openssh/etc目录下有以下文件

将sshd_config中的PermitRootLogin no改为PermitRootLogin yes,将“Subsystem sftp /usr/libexec/sftp-server”改为“Subsystem    sftp    /usr/local/libexec/sftp-server”

将sftp-server  ssh-keysign拷贝至/hi3798/HiSTBLinuxV100R005C00SPC050/source/rootfs/scripts/rootfs/usr/local/libexec

另外,在/hi3798/HiSTBLinuxV100R005C00SPC050/source/rootfs/scripts/rootfs/etc/group中添加

sshd:x:1001:sshd

在/hi3798/HiSTBLinuxV100R005C00SPC050/source/rootfs/scripts/rootfs/etc/gshadow中添加

sshd:!::sshd

在/hi3798/HiSTBLinuxV100R005C00SPC050/source/rootfs/scripts/rootfs/etc/passwd中添加

sshd:x:1001:1001:sshd privsep:/var/empty:/bin/ssh

在/hi3798/HiSTBLinuxV100R005C00SPC050/source/rootfs/scripts/rootfs/etc/shadow中添加

sshd:BsmGtKsu9a9a6:15506:5:99999:7:5:20000:

shadow文件的详细说明见http://c.biancheng.net/view/840.html

在/hi3798/HiSTBLinuxV100R005C00SPC050/source/rootfs/scripts/rootfs/autorun.sh中添加

#!/bin/sh#addgroup sshd
#adduser -G sshd -g 'sshd privsep' -h /var/empty -p 123456 -s /bin/ssh sshd
#useradd -G sshd -g 'sshd privsep' -h /var/empty -p 123456 -s /bin/ssh sshd
echo root:123456 | chpasswd rootsed -i 's|:0:5:99999:7:5:20000:|:15506:5:99999:7:5:20000:|' /etc/shadow
chown -R root.root /var/empty
chmod 744 /var/empty
/usr/local/openssh/bin/sshd
echo "sleep 5"

在rcS末尾添加

cd /
chmod +x autorun.sh
./autorun.sh

Hi3798 openSSH的移植相关推荐

  1. 【超详细】嵌入式软件学习大纲

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/qq_34981463/article/ ...

  2. eclipse gdb gdbserver 远程调试

    https://blog.csdn.net/linuxarmsummary/article/details/44975495 我们在 Linux 主机中搭建我们的开发环境,使用 Ubuntu 10.0 ...

  3. openssh移植 for pycharm 远程调试 sftp

    openssh移植 for pycharm 远程调试 sftp imx8mq根文件系统制作--openssh移植 https://blog.csdn.net/ggxyx123/article/deta ...

  4. Hi3798移植4G模块(移远EC20)

    Hi3798移植4G模块(移远EC20) 一.前言 二.USB驱动修改 2.1 添加VID和PID信息 2.2 添加空包处理机制 2.3 添加复位重连机制 2.4 修改内核配置 三.GoBiNet测试 ...

  5. openssh arm linux 编译,移植openssh到arm linux

    一.在移植之前需要准备做一些前期准备: 1.移植zlib库 1.1获取zlib源码 1.2解压 tar xvf zlib-1.2.11.tar.xz 1.3交叉编译 1.3.1 指定交叉编译器 exp ...

  6. openssh源码交叉编译,移植

    安装移植openssh需要先make zlib和ssl. 安装包: zlib-1.2.12.tar.gz openssl-1.0.1e.tar.gz openssh-5.3p1.tar.gz 交叉编译 ...

  7. 【HI3798】移植AP6356S驱动 (SDIO接口WIFI)

    目录 一.内核配置 1.1 配置WEXT 1.2 配置CFG80211 1.3 配置USB 1.4 配置Netlink 1.5 配置NAT转发

  8. 安装openssh 到 am5728 板子上

    安装openssh 到 am5728 板子上 注意:目录不要放到虚拟机与windows的共享目录. 准备 虚拟机上进到目录 /home/llf/ssh 创建目录:zlib.install 和 open ...

  9. openssh arm linux 编译,openssh编译安装到ARM嵌入式系统中

    目录 一.SSHD编译(此步骤在虚拟机上执行) 1.1 在/root/目录下创建ssh目录 1.2 交叉编译zlib 1.3交叉编译openssl 1.4交叉编译openssh 二.移植(此步骤在开发 ...

最新文章

  1. 亚洲最大的元宇宙平台,体验在豪宅里开party
  2. eBPF在大厂的应用
  3. Hadoop 2.2.0源码浏览:4. NodeManager
  4. npu算力如何计算_CPU、GPU、NPU、FPGA等芯片架构特点分析
  5. 计算机等级考试考卷试题按钮,全国计算机等级考试一级B模拟试题及答案2011.7...
  6. Flutter Provider 异步通信、Provider状态管理
  7. Python使用组合、排列和动态规划算法求解0-1背包问题
  8. oracle r11,Oracle XML Publisher在Oracle R11i中的实际运用
  9. 用成交量判断股价走势是否正常
  10. win11正式版iso镜像如何安装 windows11正式版iso镜像安装方法
  11. 【LeetCode】【数组】题号:*498,对角线遍历
  12. 射频通信接收机设计的主要结构
  13. 开源字体lato fonts
  14. 基于ExtendSim的六西格玛银行排队模型
  15. 多功能雨伞项目计划书_多功能雨伞项目计划书_雨伞策划书范文
  16. 进阶:主流的cpu插槽类型详解
  17. 好多粉数据上报之卧龙搜索ocpc API上报数据
  18. css3 制作音乐播放器音乐播放跳动音符
  19. element中设置5栏布局
  20. py-eureka-client学习笔记

热门文章

  1. Amazon Web Services: Networking AWS:网络 Lynda课程中文字幕
  2. 使用CSS去除 去掉超链接的下划线方法
  3. @Inherited 的作用
  4. xDM Land Patterns 封装工具使用笔记
  5. 为什么需要TCP加速?TCP怎么加速呢?
  6. 浅谈伺服电机三种控制方式
  7. ROS——Teb算法的优化
  8. 如何用VS2017生成可执行文件
  9. 两个offer:rovi和凯捷中国,不知道如何选择
  10. PR制作视频开头上下帷幕拉开效果