ssh简介
ssh 为 secure shell 的缩写,由 ietf 的网络小组(network working group)所制定,为建立在应用层基础上的安全协议。通过对密码进行加密传输验证,可在不安全的网络中对网络服务提供安全的传输环境,实现ssh客户端和ssh服务器端的连接。在linux类的设备或相关设置中,要实现修改网络、远程控制之类的操作,几乎都会涉及到ssh操作。
openssh 是 ssh (secure shell) 协议的免费开源实现,提供了服务端后台程序和客户端工具,用来加密远程控制和文件传输过程中的数据。
开发板ssh服务移植
openssh依赖于zlib库和openssl库,所以安装openssh需要安装编译三个组件,分别为zlib、openssl和openssh。
# 下载地址
zlib:http://www.zlib.net/
openssl:https://www.openssl.org/source/
openssh:https://cdn.openbsd.org/pub/openbsd/openssh/portable/
zlib编译
1.下载zlib库
wget http://www.zlib.net/zlib-1.2.12.tar.gz
2.解压zlib库
tar -zxf zlib-1.2.12.tar.gz
3.编译zlib
首先新建一个文件夹来存放编译结果
mkdir zlib进入zlib源码目录,配置编译器选项,例如:
export cc=arm-linux-gnueabihf-gccexport ld=arm-linux-gnueabihf-ldexport ad=arm-linux-gnueabihf-as配置编译路径
./configure --prefix=/home/qiyang/imx6ull/openssh/zlib此时生成一个makefile文件,我们需要修改makefile指定与路径无关,在如图所示位置添加-fpic
最后执行make && make install命令,进行编译安装;并将编译出来的结果拷贝到开发板的/lib目录下。
openssl编译
1.下载openssl
wget https://www.openssl.org/source/openssl-3.0.2.tar.gz
2.解压openssl库
tar -zxf openssl-3.0.2.tar.gz
3.编译openssl
首先建立一个文件夹存放编译结果
mkdir openssl配置编译器
export cross_compile=arm-linux-gnueabihf-配置编译路径
./configure linux-armv4 shared no-asm --prefix=/home/qiyang/imx6ull/openssh/openssl最后执行make && make install命令,进行编译安装;并将编译出来的结果拷贝到开发板的/lib目录下。
openssh编译
1.下载openssh
wget https://cdn.openbsd.org/pub/openbsd/openssh/portable/openssh-8.9p1.tar.gz
2.解压
tar -zxf openssh-8.9.tar.gz
3.编译openssh
配置
./configure --host=arm-linux-gnueabihf --with-libs --with-zlib=/home/qiyang/imx6ull/openssh/zlib --with-ssl-dir=/home/qiyang/imx6ull/openssh/openssl --disable-etcdefault-login cc=arm-linux-gnueabihf-gcc ar=arm-linux-gnueabihf-ar最后make,配置编译器和zlib、openssl库的目录。
4.安装
首先在开发板上创建以下目录
mkdir -p /usr/local/binmkdir -p /usr/local/sbinmkdir -p /usr/local/libexec/mkdir -p /usr/local/etcmkdir -p /var/runmkdir -p /var/empty/将编译完成的文件分别复制到开发板目录下。
将scp、sftp、ssh、ssh-add、ssh-agent、ssh-keygen、ssh-keyscan复制到/usr/local/bin目录下;
将sshd复制到/usr/local/sbin目录下;
将moduli、ssh_config、sshd_config复制到/usr/local/etc目录下;
将sftp-server、ssh-keysign复制到 /usr/local/libexec目录下;
5.修改passwd
在/etc/passwd 中添加下面这一行
sshd:x:74:74:privilege-separatedssh:/var/empty/sshd:/sbin/nologin
6.生成密钥
在/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 需要给ssh和sshd添加可执行权限,
ssh在root/usr/local/bin目录下
chmod +x ssh
sshd在/usr/local/sbin/目录下
chmod +x sshd
7.修改/usr/local/etc/sshd_config文件内容
1.将passwordauthentication yes前的注释#去掉;
2.将#permitrootlogin yes前的注释#去掉;
3.将#permitemptypasswords no 修改为permitemptypasswords yes
8.开启ssh服务
如上所示执行即可开启sshd服务,使用ps命令可以看到该进程在运行
通过上述操作,openssh服务已经在开发板上移植好了,此时使用电脑上的ssh工具就可以连接到开发板了。
宝沃BX5专为音乐而生?却又是峡谷道路的“王者”,无数年轻人的入车首选之作!
如何制作自动喷水灭火系统
计算机存储器的作用和分类说明
人工智能基础设施如何全面升级
纸张在线瑕疵检测仪的应用优势是怎样的
开发板openssh移植步骤
变电站综合自动化中监控系统的硬件设计研究
CANoe自带的自动化测试用例开发大揭秘
本已停产的8英寸集成电路设备需求增加
在线浊度仪介绍
华为发货20多万个5G基站,28个来自欧洲
电池技术——蓄电池的特性和试验3
安防灯具气密性防水检测的案例
PCB板不涂覆三防漆会如何呢?
华为笔记本和小米笔记本互相“比惨”,销量简直就是惨淡收场!
简单介绍一下agv调度控制系统常见的软件应用
大联大友尚集团推出基于Diodes产品的无线电动工具USB PD接收方案
七牛云转码全面支持 HDR,实现智能、高效、一站式视频服务
苹果新一代iPhone搭载USB-C接有望标配18W的USB PD充电器
一文详解电感的三个电流