当前位置: 首页 > news >正文

关于dropbear ssh服务

今儿一早收到现场项目经理反馈,用户服务器上检查sshd服务时,显式如下:

导致,多项合规检查项不合规。要求,我司进行兼容性适配。

俗话说得好,知己知彼百战不殆。先了解一下Dropbear是个什么东东。

通过了解和试用,给现场的建议是:改回openssh,不要使用dropbear。

Dropbear简介

Dropbear是一个小型的SSH服务器和客户端,它被设计为在资源受限的环境中运行,比如嵌入式设备或容器等。它具有以下特点:

轻量级

  • 占用资源少:与OpenSSH等更全面的SSH实现相比,Dropbear体积更小、内存占用更低。这使得它非常适合在资源有限的设备上运行,例如某些物联网设备、路由器或其他嵌入式系统,这些设备通常没有足够的资源来运行更大型的SSH服务器。

  • 易于集成:由于其小巧的体积和较低的依赖性,Dropbear易于集成到各种嵌入式系统和专用应用程序中,方便开发人员在这些受限环境中添加SSH功能。

功能相对简单

  • 核心功能支持:它支持SSH的基本功能,包括安全的远程登录、密钥认证和数据加密传输等,能够满足大多数基本的远程访问和管理需求。

  • 部分高级功能缺失:与OpenSSH相比,它缺少一些高级功能,如对某些加密算法或认证方式的支持可能不够全面,以及缺乏对SFTP等协议的完整支持等。

配置和使用相对简单

  • 配置简便:它的配置文件相对简单,易于理解和修改,对于熟悉SSH基本概念的用户来说,可以快速地进行配置以满足基本的使用需求。

  • 启动和运行方便:在许多嵌入式系统或特定的Linux发行版中,Dropbear可以很方便地被集成和启动,且通常不需要复杂的初始化或依赖配置。

常见应用场景

  • 嵌入式设备管理:常用于嵌入式设备,如路由器、防火墙、物联网设备等,为这些设备提供安全的远程管理接口。

  • 容器环境:在某些轻量级容器镜像中,为了减小镜像体积,可能会使用Dropbear来提供SSH访问功能。

  • 临时或应急使用:在需要快速搭建一个简单的SSH服务器进行临时的远程访问或测试时,Dropbear也是一个不错的选择。

搭建Dropbear

github官网:https://github.com/mkj/dropbear/blob/master/INSTALL.md

官网地址:https://matt.ucc.asn.au/dropbear/dropbear.html

可以根据官网搭建说明,通过源码安装最新版,也可以通过YUM镜像源在线安装(版本偏旧)

1、检查yum镜像源是否存在Dropbear

~]# yum list |grep dropbear  
dropbear.x86_64                                                        2018.76-3.fc29                                                  @fedora

2、使用yum安装

yum -y install dropbear

3、配置dropbear

dropbear不像openssh一样,存在/etc/ssh/sshd_config配置文件。它P都没有,如果要进行配置,只能通过命令参数:

~]# dropbear -h
Dropbear server v2018.76 https://matt.ucc.asn.au/dropbear/dropbear.html
Usage: dropbear [options]
-b bannerfile   Display the contents of bannerfile before user login
                (default: none)
-r keyfile  Specify hostkeys (repeatable)
                defaults: 
                dss /etc/dropbear/dropbear_dss_host_key
                rsa /etc/dropbear/dropbear_rsa_host_key
                ecdsa /etc/dropbear/dropbear_ecdsa_host_key
-R              Create hostkeys as required
-F              Don't fork into background
-E              Log to stderr rather than syslog
-w              Disallow root logins
-G              Restrict logins to members of specified group
-s              Disable password logins
-g              Disable password logins for root
-B              Allow blank password logins
-T              Maximum authentication tries (default 10)
-j              Disable local port forwarding
-k              Disable remote port forwarding
-a              Allow connections to forwarded ports from any host
-c command      Force executed command
-p [address:]port
                Listen on specified tcp port (and optionally address),
                up to 10 can be specified
                (default port is 22 if none specified)
-P PidFile      Create pid file PidFile
                (default /var/run/dropbear.pid)
-i              Start for inetd
-W <receive_window_buffer> (default 24576, larger may be faster, max 1MB)
-K <keepalive>  (0 is never, default 0, in seconds)
-I <idle_timeout>  (0 is never, default 0, in seconds)
-V    Version

具体参数都是干嘛的,我就不解释了,直接看就行。

配置举例:

a) 查看dropbear.service可知,通过/etc/sysconfig/dropbear传参

~]# systemctl cat dropbear
# /usr/lib/systemd/system/dropbear.service
[Unit]
Description=Dropbear SSH Server Daemon
Documentation=man:dropbear(8)
Wants=dropbear-keygen.service
After=network.target

[Service]
EnvironmentFile=-/etc/sysconfig/dropbear
ExecStart=/usr/sbin/dropbear -E -F $OPTIONS

[Install]
WantedBy=multi-user.target

b) 配置/etc/sysconfig/dropbear,修改banner和默认端口号,禁止root登录

~]# cat /etc/sysconfig/dropbear
OPTIONS="-b /etc/issue.net -p 4022 -w"

4、创建dropbear使用的keyfile

默认情况下,只有如下两个keyfile:

/etc/dropbear/dropbear_dss_host_key

/etc/dropbear/dropbear_rsa_host_key

需要额外创建ecdsa:

dropbearkey -t ecdsa -f dropbear_ecdsa_host_key

然后,重启dropbear。

5、 从openssh切换到dropbear

a) dropbear一切都准备妥当之后,停止openssh:

systemctl stop sshd

b)启动dropbear

systemctl start dropbear

c)设置dropbear开机自启动和取消openssh开机自启动

systemctl enable dropbear

sysemctl disable sshd

后记

openssh自带了sftp,可以通过sftp子服务上传下载文件;dropbear没有哦

openssh具备会话保持功能。当openssh守护进程挂掉之后,已有会话仍然可以保持,我们可以据此解决故障。但是,dropbear没有哦

相关文章:

  • 基于ReAction范式的问答系统实现demo
  • 【动手学MCP从0到1】2.5 MCP中的Context日志输出、进度汇报和服务端调用客户端的大模型项目实现步骤详解
  • 【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器
  • 视频监控平台建设方案
  • 精益数据分析(95/126):Socialight的定价转型启示——B2B商业模式的价格策略与利润优化
  • 智能制造数字孪生全要素交付一张网:智造中枢,孪生领航,共建智造生态共同体
  • 大模型安全测试报告:千问、GPT 全系列、豆包、Claude 表现优异,DeepSeek、Grok-3 与 Kimi 存在安全隐患
  • yolo 训练 中间可视化
  • 视频监控管理平台EasyCVR与V4分析网关对接后告警照片的清理优化方案
  • Fullstack 面试复习笔记:Spring / Spring Boot / Spring Data / Security 整理
  • 本地部署企业邮箱,让企业办公更安全高效
  • 华为云Flexus+DeepSeek征文|基于华为云Flexus X和DeepSeek-R1打造个人知识库问答系统
  • Github 2025-06-06 Java开源项目日报Top10
  • [BIOS]VSCode zx-6000 编译问题
  • (一)上市企业实施IPD成功案例分享之——方太
  • OpenCV 图像色彩空间转换与抠图
  • 网络流学习笔记 - 最大流最小割
  • JVM——打开JVM后门的钥匙:反射机制
  • Javascript 编程基础(5)面向对象 | 5.1、构造函数实例化对象
  • RFID推动新能源汽车零部件生产系统管理应用案例
  • 网站备案完成通知书/网络软文是什么意思
  • 帮推广平台/广州seo成功案例
  • 软件开发培训班哪个好/seo
  • 如何做视频网站旗下账号/深圳外贸seo
  • 网站开发图片素材/小程序免费制作平台
  • 天津专业做网站的公司有哪些/百度客户端电脑版