PS:要转载请注明出处,本人版权所有。

PS: 这个只是基于《我自己》的理解,

如果和你的原则及想法相冲突,请谅解,勿喷。

前置说明

  本文作为本人csdn blog的主站的备份。(BlogID=051)

  本文发布于 2018-01-04 14:09:56,现用MarkDown+图床做备份更新。blog原图已丢失,使用csdn所存的图进行更新。(BlogID=051)

环境说明

  无

前言


  此文的编译篇在:http://blog.csdn.net/u011728480/article/details/78037404

  原本不想写这篇文章的,但是最近,新的需求下来,需要配置一个ssh服务端,但是板子的nand经过精打细算之后,只剩了几MB的空间了,于是得重新对编译和部署进行整理。然后将SSH部署到板子的SD卡上去。

openssh 的部署


  首先根据编译篇的内容,将你要指定的SD卡的挂载目录参数添加上,而不是按照ssh的默认目录去部署。

  最终,configure之后得到下图:

  可以看到,我已经指定了我想要的路径,这个路径很重要,有些ssh相关的二进制文件根据编译时的参数写死了,所以,需要编译时指定。

开始部署:
  1. 首先根据前文,准备以下的文件到一个目录。

  如图:(ssh相关的bin文件和配置文件)

  (ssh 所依赖的so库)

  1. 创建相关的文件夹
mkdir -p /TFDISK/rootfs/bin/
mkdir -p /TFDISK/rootfs/sbin/
mkdir -p /TFDISK/rootfs/etc/
mkdir -p /TFDISK/rootfs/libexec/
mkdir -p /TFDISK/rootfs/share/
mkdir -p /TFDISK/rootfs/lib/
mkdir -p /var/run/
mkdir -p /var/empty/
  1. 修改相关文件夹权限以及添加ssh所需的用户组和用户
chown root:root /var/empty
chmod 755 /var/empty
addgroup sshd
adduser -G sshd -g 'sshd privsep' -h /var/empty -s /bin/ssh sshd
(添加用户时,也可直接修改/etc/passwd 文件,在最后一行添加sshd:x:74:74:Sky-SSH:/var/empty/sshd:/sbin/nologin)
//username:password:User ID:Group ID:comment:home directory:shell
  1. 复制相关文件及so库到相关的文件夹
cp sshd /TFDISK/rootfs/sbin/
cp scp sftp ssh ssh-add ssh-agent ssh-keygen ssh-keyscan ssh-pkcs11-helper /TFDISK/rootfs/bin/
cp sftp-server ssh-keysign /TFDISK/rootfs/libexec/
cp sshd_config ssh_config moduli /TFDISK/rootfs/etc/ #libcrypto.so libssl.so libz.so
cp lib*.so* /TFDISK/rootfs/lib/
  1. 到开发板上,在ssh所需的etc/目录生成相关的秘钥文件,并修改权限
cd /TFDISK/rootfs/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 dsa -f ssh_host_ed25519_key -N ""
chmod 600 ssh_host_ed25519_key
  1. 到此,直接可以通过/TFDISK/rootfs/sbin/sshd&运行,然后连接即可。(此时root和空密码是无法登录的)
号外号外:必须注意相关的额外配置
  1. 若想使用root登录,那么必须在sshd_config 里面,取消PermitRootLogin yes注释,并改值为yes,如果需要无密码登录,需要取消PermitEmptyPasswords yes注释,设置登录名密码为空(此选项不建议使用,因为我这里是开发板可以这样,毕竟不安全)。
  2. 因为上文实现了不安全的免密登录,安全的免密登录可以使用公钥来配置,具体可以去网上查找相关资料。

后记


  无

参考文献


打赏、订阅、收藏、丢香蕉、硬币,请关注公众号(攻城狮的搬砖之路)

PS: 请尊重原创,不喜勿喷。

PS: 要转载请注明出处,本人版权所有。

PS: 有问题请留言,看到后我会第一时间回复。

移植openssh-7.5p1(包括openssl-1.0.2l、zlib-1.2.11)到HISI3520d(部署篇)的更多相关文章

  1. windows 下编译 OpenSSL1.0.2l 版

    1.需要的软件工具: microsoft visual studio2013(或2010以后其他版本) Perl 软件, 版本为strawberry - perl - 5.26.0.1 - 64bit ...

  2. 移植openssh到nuc951 evb板

    移植openssh到nuc951 evb板 一 应用环境: 硬件:nuc951evb 软件:linux2.6.35 bsp 二 交叉编译openssl openssh 1.下载 openssl-1.0 ...

  3. 移植openssh到arm linux

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

  4. python3 安装 #zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz RHEL 8 install Python 3 or Python 2 using yum 编译安装 python3.7.4 . OpenSSL 1.0.2 or 1.1. Consequently, OpenSSL 0.9.8 and 1.0

    #zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz Modules/Setup.dist https://askubuntu ...

  5. OpenSSL 1.0.2e 3 Dec 2015

    目录: 1,交叉编译openssl 2,win32  vc9 编译 openssl 1,交叉编译openssl [原]交叉编译openssl不修改Makefile的方法 http://blog.chi ...

  6. vs2008环境nmake编译 apache 2.2.29 openssl 1.0.1g mod_ssl 不知道如何生成“"..\..\srclib\openssl\inc32\openssl\store.h"”

    问题: vs2008环境nmake编译 apache 2.2.29 openssl 1.0.1g mod_ssl 不知道如何生成“"..\..\srclib\openssl\inc32\op ...

  7. OpenSSL 1.0.0生成p12、jks、crt等格式证书的命令个过程(转)

    OpenSSL 1.0.0生成p12.jks.crt等格式证书的命令个过程   此生成的证书可用于浏览器.java.tomcat.c++等.在此备忘!     1.创建根证私钥命令:openssl g ...

  8. OpenSSL 1.0.0生成p12、jks、crt等格式证书的命令个过程 -参考自http://lavasoft.blog.51cto.com/62575/1104993/

    OpenSSL 1.0.0生成p12.jks.crt等格式证书的命令个过程   此生成的证书可用于浏览器.java.tomcat.c++等.在此备忘!     1.创建根证私钥命令:openssl g ...

  9. centos下从源码安装openssl 1.0.1g

    cd /usr/srcwget https://www.openssl.org/source/openssl-1.0.1g.tar.gz -O openssl-1.0.1g.tar.gz tar -z ...

  10. 2014年第一季度Oracle PSU更新(包括10.2.0.4+版本号全部PSU信息)

    2014年第一季度的PSU更新主要是3个版本号:12.1.11.2.0.4.11.2.0.3以及11.1.0.7. 在第2季度Oracle 将公布12.1.0.2,同一时候11.2.0.4版本号也将是 ...

随机推荐

  1. Android 相册

  2. 零基础入门学习Java课堂笔记 ——day02

    流程控制 1.Scanner对象 来源:java.util.Scanner 我们可以通过Scanner类来获取用户的输入输出 用户交互Scanner 通过new关键词创建Scanner对象 Scann ...

  3. 小知识:OGG的TRANLOGOPTIONS MINEFROMACTIVEDG参数

    最近客户有一个需求,OGG源端需要配置在ADG环境,按历史配置规范,开启抽取进程报错: 2020-08-26 18:02:27 ERROR OGG-00060 Extract requires a v ...

  4. Kafka-生产者性能调优

    (一)参数调优 参数调优相关代码 在实际的kafka开发中,我们会发现,无论是生产者还是消费者,都需要构建一个Properties对象,里面设置了很多参数.在这段代码中有很多常用的参数配置,在线上使用 ...

  5. CentOS7上systemctl的使用

    CentOS 7.x开始,CentOS开始使用systemd服务来代替daemon,原来管理系统启动和管理系统服务的相关命令全部由systemctl命令来代替. 1.原来的 service 命令与 s ...

  6. NC25879 外挂

    题目链接 题目 题目描述 我的就是我的,你也是我的,记住了,狐狸! ​ --韩信-白龙吟 对于打赌输了的小T会遭受到制裁,小s修改了数据库使他可以派出许多军队来围攻小T. 很不幸,小T与小s打赌打输了 ...

  7. logstash4j-用于日志的输入、转换处理、输出, java 开发者自己的 logstash

    项目简介 logstash4j 用于日志的输入.转换处理.输出, java 开发者自己的 logstash 特性 input output filter metric 开源地址 logstash4j ...

  8. Ubuntu下SSH管理及SFTP下载工具Muon(Snowflake)

    简介 Muon其实更像是一个基于ssh的服务器管理工具, 界面中有PAC Manager的影子, 集成了文件管理, ssh命令行, 服务器性能监测和工具包等功能. 因为这个工具的编写语言是Java, ...

  9. 【Android 逆向】【攻防世界】boomshakalaka-3

    1. apk 安装到手机,是一个cocos2dx 写的打飞机的游戏 题目描述跟得分有关(题目描述: play the game, get the highest score) 2. jadx 打开ap ...

  10. 如何在 WindowManager.addView 中使用 Jetpack Compose

    如何在 WindowManager.addView 中使用 Jetpack Compose 一.引出问题 Android 开发中,很常见的一个场景,通过 WindowManager.addView() ...