OpenHarmony 集成ssh服务器 Dropbear
ssh是一个常见的、可靠的远程终端/文件传输的协议,OpenHarmony本身并没有ssh服务器的功能。
为了启用ssh功能,我们需要引入一个第三方软件 Dropbear
Dropbear是什么
Dropbear是由Matt Johnston所开发的Secure Shell软件(包括服务端与客户端)。
期望在存储器与运算能力有限的情况下取代OpenSSH,尤其是嵌入式系统。
通俗来说,dropbear是一个ssh服务器的实现软件,同时具有ssh客户端的功能。
dropbear通常在嵌入式Linux上运行,例如大名鼎鼎的OpenWRT默认的ssh的服务器和客户端正是dropbear。
为什么需要使用Dropbear
OpenHarmony默认使用HDC作为调试工具,类似于Android平台的adb。
计算机通过USB线缆连接OpenHarmony设备。可以实现执行命令、文件上传、文件下载等功能。
一般情况下HDC足够大多数人的需求。但你如果更喜欢使用ssh协议,或者有更多高级需求例如
- 基于网络进行连接,支持密码认证,提供安全可信的加密通道
- 在多台开发机或设备上同时连接OpenHarmony设备
- 使用WinSCP软件可视化的进行文件浏览、上传、下载
那么为OpenHarmony设备安装Dropbear将是一个更好的选择。
集成方法
开源中国上已经有开发者xfan1024完成了dropbear对OpenHarmony的适配。
项目地址:https://gitee.com/xfan1024/oh-dropbear
拉取OpenHarmony代码并正确编译
请参考我之前的一篇博客: OpenHarmony 编译固件
编辑repo的清单文件,默认路径位于OpenHarmony源码目录下的
./.repo/manifests/default.xml
在原本的
<remote>
标签下再增加一个<remote>
标签<remote fetch="." name="origin" review="https://openharmony.gitee.com/openharmony/"/> <remote fetch="https://gitee.com/xfan1024/" name="origin"/>
添加一个
<project>
标签,保持与其他<project>
标签平级即可<project name="oh-dropbear" path="third_party/dropbear" remote="xfan1024"revision="588cd36d3fbd1268c669d32a37e0599124ac7cad"><linkfile src="openharmony-develtools" dest="developtools/dropbear"/> </project>
可参考: https://gitee.com/xfan1024/oh-rpi3b/blob/devel/oh-rpi3b.xml 文件的写法
在源码目录执行命令
repo sync -c third_party/dropbear
修改产品描述文件,例如
productdefine/common/products/Hi3516DV300.json
在parts数组中增加一项
"developtools:dropbear": {},
再次编译即可生成安装了dropbear的固件
如何连接设备
登录信息
重新烧录固件后,dropbear默认自启动
默认用户名:shell 或 root
默认密码:openharmony
若需要修改默认密码,请修改/etc/init/dropbear.cfg
文件。
"export DROPBEAR_PASSWORD openharmony"
需要注意的是,/system分区默认以只读形式挂载。你可能需要执行以下命令进行重挂载才可编辑文件。
mount -oremount,rw /
如果你的设备上没有安装vi命令,可以将该文件先将文件拷贝到本机,本机修改完成后再拷贝回设备。
网络配置
要成功连接开发板,需要为开发板设置一个IP地址。可以通过设置界面连接WIFI获取一个IP地址,也可以直接使用命令为有线网卡配置IP地址
# 为eth0配置静态IP地址,IP地址请修改为你想设置的地址
ifconfig eth0 192.168.1.95
如果你希望开机自动设置静态IP地址,可以编辑/etc/init/dropbear.cfg
文件,增加一行配置静态IP的命令。
注意,IP地址的设置需要合理。最简单的做法是和你的开发机接入同一个路由器,配置到同一个网段。
当然也可以跨网段,但你需要保证你的开发机到你的设备是路由可达的。
问题诊断
你可以运行以下命令查看dropbear是否正常启动。
ps -A | grep dropbear
你也可以在开发机上运行ping命令测试是否可访问到设备。
ping 192.168.1.95
配置文件参考
{"jobs" : [{"name" : "post-fs","cmds" : ["export DROPBEAR_PASSWORD openharmony","export DROPBEAR_SHELL /system/bin/sh","export DROPBEAR_HOME /","mkdir /data/dropbear","exec /system/bin/ifconfig eth0 192.168.1.95","start dropbear"]}],"services" : [{"name" : "dropbear","path" : ["/system/bin/dropbear", "-FRB"],"disabled" : 1}]
}
OpenHarmony 集成ssh服务器 Dropbear相关推荐
- 加密与解密、OpenSSL(SSL/TLS)、OpenSSH(ssh)、dropbear
下面介绍的是Linux的加密与解密.OpenSSL(SSL/TLS).OpenSSH(ssh).dropbear. 一.数据的加密与解密 1.进程间通信基础 (1).进程间通信方式 同一主机间进程间的 ...
- Dropbear-轻量级SSH服务器和客户端
目录 目录 Dropbear简介 安装drobear 1安装依赖包 2下载dropbear 3安装Drobear Dropbear的使用 Dropbear简介 Dropbear是一个相对较小的SSH服 ...
- 轻量级ssh服务dropbear
轻量级ssh服务dropbear 目录 前言 一.编译前准备 二.编译安装 1.解压源码包 2.查看INSTALL中的内容. 3../c ...
- Core Shell: 在macOS上高效管理SSH服务器
对于开发工程师或者运维工程师来说,一款趁手的SSH服务器及终端管理工具能有效提升自己的工作效率.在Windows系统中,我们有Xshell,MobaXterm或者SecureCRT等神器.然而,在ma ...
- SSH服务器管理与Termux使用
×××××××××××××××××××××SSH服务器安装及使用××××××××××××××××××××× MobaXterm常用的登录方式是SSH服务器,在Ubuntu终端上可以架设SSH服务器 s ...
- ubuntu系统怎么安装ssh服务器配置,如何在Ubuntu 20.04 LTS上安装SSH服务器
Terminal Linux Logo 在 步骤1.首先,通过apt在终端中运行以下以下命令,确保所有系统软件包都是最新的. sudo apt update sudo apt upgrade 步骤2. ...
- 入门系列之使用fail2ban防御SSH服务器的暴力破解攻击
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由SQL GM 发表于云+社区专栏 介绍 对于SSH服务的常见的攻击就是暴力破解攻击--远程攻击者通过不同的密码来无限次地进行登录尝试. ...
- windows sftp工具_将SSH服务器映射成Windows网络驱动器
需要一款简便的ftp工具吗?这里为大家带来一款强大的ftp客户端工具,这款ExpanDrive mac版能够为将SSH服务器映射成Windows网络驱动器,方便大家的操作.这款软件还支持多种国外云盘, ...
- RHEL-5搭建SSH服务器
Linux 远程登录服务:ssh ·SSH是标准的网络协议,可用于大多数UNIX操作系统,能够实现字符界面的远程登录管理,它默认使用22号端口,采用密文的形式在网络中传输数据,相对于通过明文传输的Te ...
最新文章
- linux的/etc/hosts的作用
- JZOJ 1980. 【2011集训队出题】Construct
- windows redis批量删除前缀的key_阿里官方Redis开发规范!
- stl list 删除元素_删除所有出现的元素,并从列表中删除一些特定的元素。 C ++ STL...
- Linux上对图片进行压缩
- CME比特币期货去年促成超1100万枚比特币交易量
- 数据库和缓存一致性分析
- 理解 JMeter 聚合报告(Aggregate Report)
- 拦截器(Interceptor)和过滤器(Filter)的区别
- 多元统计分析最短距离法_多元统计分析复习整理
- linux两个命令合并,linux合并命令
- PDF Expert for Mac最新免费激活码序列号安装下载教程详解
- 微服务架构如何进行解耦?
- redis中的save配置项
- 供应商寄售过程的实现
- html5调用手电筒,HTML5的模拟手电筒照明效果
- 2022年上半年总结——忙碌而有点忧伤的半年
- 李飞飞论战《未来简史》作者赫拉利!2019 年最精彩 AI 论战
- combox获取mysql_C# 查询mysql数据库并绑定至combox中
- 学习高等数学一学期对”高等”的感悟与体会