300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > Arm linux开发板移植OpenSSH

Arm linux开发板移植OpenSSH

时间:2022-05-27 08:51:01

相关推荐

Arm linux开发板移植OpenSSH

目录

一、背景介绍

二、下载源码

三、交叉编译

1、交叉编译zlib

2、交叉编译openssl

3、交叉编译openssh

四、Arm linux开发板SSH环境搭建

1、创建相关目录

2、拷贝文件到开发板上

3、生产Key文件并拷贝到开发板上

4、修改配置

五、SSH测试

一、背景介绍

笔者开发的嵌入式设备在经常安装在不好接触的地方,不太方拉出串口来调试,因此就想到用SSH远程登录调试设备。SSH 全称为 Secure Shell(安全外壳协议,简称 SSH),是一种加密的网络传输协议,用于在不安全的网络中为网络服务提供安全的传输环境。 SSH 功能很强大,但是最常用的还是用于远程登录。

二、下载源码

zlib:

官网下载:

版本:zlib-1.2.2.tar.gz

openssl:

官网下载:/source

版本:openssl-1.1.1k.tar.gz

openssh:

官网下载:/portable.html

阿里云镜像:/pub/OpenBSD/OpenSSH/portable

版本:openssh-8.5p1.tar.gz

注意:openssh与openssl是有版本依赖的,版本不匹配可能会导致其他错误。

三、交叉编译

1、交叉编译zlib

解压并配置安装路径

tar -vxzf zlib-1.2.2.tar.gzcd zlib-1.2.2/./configure --prefix=/home/lyy/tools/zlib

修改Makefile,将相关工具链改为交叉编译工具链

然后编译安装zlib

makemake install

2、交叉编译openssl

参考使用openssl+curl让嵌入式设备实现https通讯文章中的安装openssl章节。

3、交叉编译openssh

--with-zlib:zlib库所在的路径

--with-ssl-dir:openssl库所在的路径

注意:openssl编译完不需要安装

tar -vxzf openssh-8.5p1.tar.gzcd openssh-8.5p1./configure --host=arm-linux-gnueabihf --with-libs --with-zlib=/home/lyy/tools/zlib --with-ssl-dir=/home/lyy/work/openssl/arm-openssl CC=arm-linux-gnueabihf-gcc AR=arm-linux-gnueabihf-armake

四、Arm linux开发板SSH环境搭建

1、创建相关目录

确保开发板上有以下目录,如果没有则需创建。

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

2、拷贝文件到开发板上

从PC机上/home/lyy/tools/openssh-8.5p1/ 目录下拷贝 scp sftp ssh sshd ssh-add ssh-agent ssh-keygen ssh-keyscan到开发板/usr/local/bin下;

从PC机上/home/lyy/tools/openssh-8.5p1/ 目录下拷贝 moduli ssh_config sshd_config到开发板/usr/local/etc下;

从PC机上/home/lyy/tools/openssh-8.5p1/ 目录下拷贝 sftp-server ssh-keysign 到开发板/usr/local/libexec下;

3、生产Key文件并拷贝到开发板上

从PC机上/home/lyy/tools/openssh-8.5p1/ 目录下运行

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_*_key文件拷贝到开发板,并将ssh_host_ed25519_key权限修改为600。

chmod 600 /usr/local/etc/ssh_host_ed25519_key

4、修改配置

打开/usr/local/etc/sshd_config 文件,找到“#PermitRootLogin”所在行,将其改为“PermitRootLogin yes”。

打开/etc/passwd文件,在最后一行添加

​sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin

五、SSH测试

如果开发板的root账号还没有密码,使用passwd命令根据提示修改密码

passwd root

在开发板运行,如果提示缺少动态链接库,则在PC主机上软件包和交叉编译工具链lib库搜索并拷贝到开发板上。

/usr/local/bin/sshd

如果没有问题的话,在开发板上用ps命令就能看到sshd进程。

笔者使用MobaXterm连接测试,MobaXterm提供了很多的终端软件功能,大家有兴趣可以去了解一下。

输入密码,按下回车即可

可以考到,我们已经通过SSH连接到开发板了。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。