基于dropbear實現嵌入式系統ssh服務端與客戶端完整交互

以下基于 Dropbear 實現 SSH 服務端與客戶端交互的完整步驟,涵蓋服務端部署、客戶端連接、認證配置及消息傳輸,結合了多篇權威資料的核心實踐:


  1. 環境準備與安裝

服務端安裝

? Linux 系統(以 Ubuntu/CentOS 為例)

Ubuntu/Debian

sudo apt update && sudo apt install dropbear

CentOS

sudo yum install dropbear

? 嵌入式系統

需交叉編譯(示例為 ARM 平臺):

./configure --prefix=/opt/dropbear --host=arm-linux CC=arm-linux-gcc
make PROGRAMS=“dropbear dbclient dropbearkey scp”
make install

將編譯生成的 dropbear(服務端)、dbclient(客戶端)等文件移植到目標設備的 /usr/bin 或 /usr/sbin。

客戶端安裝

? 服務端自帶 dbclient,或安裝 OpenSSH 客戶端:

sudo apt install openssh-client # Ubuntu


  1. 服務端配置

生成主機密鑰

Dropbear 需密鑰文件才能啟動,默認路徑 /etc/dropbear/:

mkdir -p /etc/dropbear
dropbearkey -t rsa -f /etc/dropbear/dropbear_rsa_host_key -s 2048
dropbearkey -t ecdsa -f /etc/dropbear/dropbear_ecdsa_host_key

📌 注意:密鑰類型需與客戶端兼容(RSA/ECDSA 更安全)。

修改監聽設置

編輯配置文件 /etc/default/dropbear(Ubuntu)或 /etc/sysconfig/dropbear(CentOS):

修改端口(避免與 OpenSSH 沖突)

DROPBEAR_PORT=2222

限制登錄用戶(可選)

DROPBEAR_EXTRA_ARGS="-s -w -g root" # 禁止 root 登錄,僅允許指定用戶

啟動服務

sudo systemctl start dropbear # 系統服務

或手動啟動(嵌入式環境常用)

dropbear -p 2222 -F -E -m # -F 前臺運行,-E 輸出日志,-m 禁用密碼認證


  1. 客戶端配置與登錄

認證方式選擇

方式 配置步驟
密碼認證 服務端需啟用 -m 參數;客戶端直接輸入密碼
公鑰認證 🔑 更安全,需生成密鑰對并上傳公鑰至服務端

公鑰認證配置

  1. 生成密鑰對(客戶端執行):

ssh-keygen -t ed25519 -f ~/.ssh/dropbear_key # 推薦 ed25519

  1. 上傳公鑰至服務端:

ssh-copy-id -i ~/.ssh/dropbear_key.pub user@server_ip -p 2222

或手動追加公鑰到服務端 ~/.ssh/authorized_keys

  1. 登錄服務端:

使用 dbclient(Dropbear 客戶端)

dbclient -y -i ~/.ssh/dropbear_key user@server_ip -p 2222

使用 OpenSSH 客戶端

ssh -i ~/.ssh/dropbear_key user@server_ip -p 2222


  1. 客戶端向服務端發送消息

SSH 會話建立后,可通過以下方式傳輸數據:

  1. 交互式 Shell 命令

登錄后直接輸入命令,服務端執行后返回結果:

echo “Hello from client” > server_message.txt # 服務端創建文件

  1. 非交互式單命令執行

ssh -p 2222 user@server_ip “cat > /tmp/client_msg.txt” < local_msg.txt

  1. SCP 文件傳輸

scp -P 2222 message.txt user@server_ip:/home/user/


  1. 安全優化建議

? 禁用密碼登錄:編輯服務端配置,添加 DROPBEAR_EXTRA_ARGS="-s"。

? 防火墻限制:僅允許可信 IP 訪問 SSH 端口。

? 空閑超時:添加 IdleTimeout 600 到配置,自動斷開空閑會話。

? 日志監控:通過 tail -f /var/log/auth.log 跟蹤登錄嘗試。


常見問題解決

? 連接拒絕:檢查服務端是否監聽端口 netstat -tuln | grep 2222,確認防火墻規則。

? 密鑰認證失敗:確保服務端 ~/.ssh/authorized_keys 權限為 600,屬主正確。

? 嵌入式設備存儲不足:刪除未使用的程序(如 dropbearconvert),精簡二進制文件。

💡 提示:完整日志可通過 journalctl -u dropbear 或啟動時加 -E 參數查看。若需更復雜功能(如端口轉發),參考 Dropbear 手冊 。

通過以上步驟,你已實現基于 Dropbear 的輕量級 SSH 服務,并完成安全消息傳輸。對于嵌入式場景,重點確保交叉編譯兼容性與存儲優化;服務器環境則側重權限與網絡隔離。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/913675.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/913675.shtml
英文地址,請注明出處:http://en.pswp.cn/news/913675.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

深圳安銳科技發布國內首款4G 索力儀!讓斜拉橋索力自動化監測更精準高效

近日&#xff0c;深圳安銳科技正式發布國內首款無線自供電、一體化的斜拉索實時監測設備 “4G索力監測儀”&#xff0c;成功攻克了傳統橋梁索體監測領域長期存在的實時性差、布設困難和成本高昂的行業難題&#xff0c;為斜拉橋、系桿拱橋提供全無線、自動化、云端實時同步的索力…

Pipeline 引用外部數據源最佳實踐

場景解析在企業網絡安全日志處理場景中&#xff0c;防火墻、入侵檢測系統&#xff08;IDS&#xff09;等設備會持續產生大量日志&#xff0c;記錄網絡流量、訪問請求、異常事件等基礎信息&#xff0c;但這些原始日志僅能呈現表面現象&#xff0c;難以全面剖析安全威脅&#xff…

UI + MCP Client + MCP Server(并且鏈接多個Server)

項目結構前端項目--------->MCP Client----------->MCP Serverserver就不過多贅述了&#xff0c;他只是相當于添加了多個的tools 鏈接前后端 http.createServer創建一個服務器// ---------------------------------------------------------------- // server.js import …

香港站群服務器與普通香港服務器對比

在選擇香港服務器時&#xff0c;用戶常常會遇到"站群服務器"和"普通服務器"兩種選項&#xff0c;雖然它們都基于香港數據中心的基礎設施&#xff0c;但在 IP 地址配置、功能定位和管理復雜度、成本上存在顯著差異&#xff0c;理解這些差異有助于用戶根據實…

4.B樹和B+樹的區別?為什么MySQL選擇B+樹作為索引?

區別&#xff1a;1.數據存儲位置B樹每個節點都存儲了索引和數據B樹只有葉子節點存儲數據&#xff0c;非葉子節點僅存儲索引2.葉子節點的鏈接B樹的所有葉子節點通過指針連接成一個雙向鏈表&#xff0c;可以高效地進行范圍查詢或者順序遍歷B樹則沒有這樣的連接關系&#xff0c;查…

轉換狂魔,Modbus TCP轉Profinet網關打通視覺傳感線連接之路

在汽車零部件沖壓生產線的世界中&#xff0c;液壓機的壓力穩定性是確保產品質量的秘密武器。然而&#xff0c;舊時代的人工巡檢和傳統監測方式卻好似拖累現代化進程的沉重枷鎖&#xff1a;效率低、成本高&#xff0c;還總是趕不上實時反饋的快車。這時&#xff0c;工廠決心大刀…

C++進階—二叉樹進階

第一章&#xff1a;內容安排說明 map和set特性需要先鋪墊二叉搜索樹&#xff0c;而二叉搜索樹也是一種樹形結構二叉搜索樹的特性了解&#xff0c;有助于更好的理解map和set的特性二叉樹中部分面試題稍微有點難度&#xff0c;在前面講解大家不容易接受&#xff0c;且時間長容易…

驅動下一代E/E架構的神經脈絡進化—10BASE-T1S

汽車電子電氣架構的演進正經歷一場深刻的變革&#xff0c;“中央計算單元區域控制器”的架構模式已成為當前主流車型平臺發展的明確方向。這種從傳統的“功能域”&#xff08;Domain&#xff09;架構向“區域”&#xff08;Zonal&#xff09;架構的轉型升級&#xff0c;旨在實現…

某學校系統中挖礦病毒應急排查

本篇文章主要記錄某學校長期未運營維護的程序&#xff0c;被黑客發現了漏洞&#xff0c;但好在學校有全流量設備&#xff0c;抓取到了過程中的流量包 需要你進行上機以及結合流量分析&#xff0c;排查攻擊者利用的漏洞以及上傳利用成功的木馬 文章目錄靶機介紹1.使用工具分析共…

vue 、react前端頁面支持縮放,echarts、地圖點擊左邊不準的原因和解決辦法

原因 由于以上都是通過canvas畫布生成的&#xff0c;一旦初始化&#xff0c;就會按照比例進行縮放&#xff0c;但與此同時&#xff0c;比例尺并沒有變化&#xff0c;導致坐標偏移 解決辦法 設置一個zoomVal產量&#xff0c;在頁面加載時計算縮放比例&#xff0c;然后在canvas容…

(LeetCode 每日一題) 1353. 最多可以參加的會議數目 (優先隊列、小頂堆)

題目&#xff1a;1353. 最多可以參加的會議數目 思路&#xff1a;優先隊列實現小頂堆&#xff0c;0(mx*logn) 在第i天&#xff0c;優先選endDay最小的那一個活動進行。那么遍歷每一天&#xff0c;用小頂堆來維護每個活動的最后一天即可&#xff0c;細節看注釋。 C版本&#xf…

Java結構型模式---代理模式

代理模式基礎概念代理模式是一種結構型設計模式&#xff0c;其核心思想是通過創建一個代理對象來控制對另一個真實對象的訪問。代理對象在客戶端和真實對象之間起到中介作用&#xff0c;允許在不改變真實對象的前提下&#xff0c;對其進行增強或控制。代理模式的核心組件主題接…

MySQL流程控制函數全解析

MySQL 中的流程控制函數&#xff08;也稱為條件函數&#xff09;允許你在 SQL 語句中進行邏輯判斷&#xff0c;根據不同的條件返回不同的值或執行不同的操作。它們極大地增強了 SQL 的靈活性和表達能力&#xff0c;尤其在進行數據轉換、結果格式化、條件聚合和復雜業務邏輯實現…

【7】PostgreSQL 事務

【7】PostgreSQL 事務前言使用事務事務內錯誤處理事務保存點DDL 事務前言 在 PostgreSQL 中&#xff0c;每一個操作都是一個事務。即使一個簡單的查詢(select)&#xff0c;這也是一個事務。 例如&#xff1a; postgres# select now();now --------------------…

Linux:多線程---深入互斥淺談同步

文章目錄1. 互斥1.1 為什么需要互斥1.2 互斥鎖1.3 初談互斥與同步1.4 鎖的原理1.5 可重入VS線程安全1.6 死鎖1.7 避免死鎖的算法&#xff08;擴展&#xff09;序&#xff1a;在上一章中我們知道了線程控制的三個角度&#xff1a;線程創建、線程等待和線程終止&#xff0c;分別從…

適用于 vue2、vue3 的自定義指定:v-int(正整數)

在項目中&#xff0c;我們經常會遇到輸入框只允許輸入數字的情況&#xff0c;下面是一段自定義指定 代碼&#xff0c;復制到項目中&#xff0c;注冊指定即可使用用法如下&#xff1a; 創建一個IntInput.js 文件&#xff0c;將下面代碼復制到文件中保存在項目中的 main.js 文件中…

學習基于springboot秒殺系統-環境配置(接口封裝,mybatis,mysql,redis(Linux))

文章目錄前言創建springboot項目封裝controller層輸入輸出rest api 的json輸出返回頁面集成mybatis集成redis下載虛擬機和centos下載redis.tar.gz上傳redis.tar.gz 到虛擬機前言 今天開始記錄學習秒殺系統-課程是基于慕課上的搜索秒殺系統的課程&#xff0c;老師講解非常好。這…

stm32達到什么程度叫精通?

STM32達到什么程度叫精通&#xff1f;一個十年老兵的深度反思 前言&#xff1a;精通二字&#xff0c;重如泰山 每次有人問我"STM32達到什么程度叫精通"這個問題&#xff0c;我都會沉默很久。 不是因為這個問題難回答&#xff0c;而是因為"精通"這兩個字太重…

微軟上線Deep Research:OpenAI同款智能體,o3+必應雙王炸

今天凌晨&#xff0c;微軟在官網宣布&#xff0c;Azure AI Foundry中上線Deep Research公開預覽版。這是支持API和SDK的OpenAI 高級智能體研究能力產品&#xff0c;并且Azure 的企業級智能體平臺完全集成。Deep Research是OpenAI在今年4月25日發布的最新產品&#xff0c;能夠像…

Spring Batch終極指南:原理、實戰與性能優化

&#x1f31f; Spring Batch終極指南&#xff1a;原理、實戰與性能優化單機日處理10億數據&#xff1f;揭秘企業級批處理架構的核心引擎&#xff01;一、Spring Batch 究竟是什么&#xff1f;Spring batch是用于創建批處理應用程序&#xff08;執行一系列作業&#xff09;的開源…