Repository navigation
AI 工具(Claude Code / Codex / Cursor…)能透過 MCP 在你的 SSH 主機上執行指令:預設只能看,開了權限才能改,有風險的要你點頭。
新功能:
- MCP 的 SSH 主機工具:
dbk mcp --ssh多兩支工具——list_ssh_hosts列出側欄存好的 SSH 主機,ssh_run在主機上執行一段指令,回傳輸出與結束碼。帳號、私鑰、跳板機照主機設定,密碼仍從系統金鑰圈取,設定檔裡沒有任何帳密。預設逾時 30 秒(上限 5 分鐘),輸出只留頭尾約 16 KB,一張大日誌不會把整段對話擠掉。 - 預設唯讀:只放行
ls、cat、df、ps、systemctl status、journalctl、docker ps / logs、kubectl get、git log這類查看指令;寫檔、rm、sudo、find -exec、sed -i、curl -o這些在連線之前就擋下。 --allow-ssh-exec才能改系統,分級跟 App 終端機「AI 建議指令」的確認框是同一套規則:一般指令直接跑;有風險的(刪除、sudo、重啟服務、寫系統目錄、curl | sh…)先不執行,回傳原因與一組確認代碼,AI 要把原因告訴你、經你同意後才能帶代碼重送——代碼綁定那台主機和那條指令、15 分鐘內有效、只能用一次;rm -rf /、格式化磁碟、fork bomb 一律不給跑。- 只信任你確認過的主機金鑰:AI 不會替你信任一台新主機,第一次用之前先在 App 裡開一次那台主機的終端機、確認指紋。一次性密碼 / 互動式認證的主機沒有人可問,會明講用不了。
- 每條指令都留紀錄:執行過的指令寫進「SSH 操作紀錄」,來源標示 MCP,指令裡的密碼換成
***。 - MCP 設定對話框多了「SSH 主機(終端機)」區塊:開關、勾選要開放的主機、是否允許會變更系統的指令;寫入前的確認會講明。HTTP 模式照樣能自選 port,SSH 選項一併帶上。
驗證:Rust 單元測試 711 項通過,其中用行程內的 SSH 測試伺服器端到端驗過:新主機被拒並附上指紋、信任後能執行、非零結束碼照常回報、大量輸出只留頭尾、逾時會中斷、操作紀錄來源是 MCP;完整功能版的 MCP 測試 44 項通過。指令分級的 Rust 版與前端用同一份 314 條案例互相釘住、密碼遮罩 55 條,兩邊結果完全一致。vitest 2595 項、tsc、eslint、vite build 通過;介面測試 MCP 設定與 SSH 操作紀錄 41 項通過。沒測到:還沒對真的 OpenSSH 伺服器、也還沒用真的 Claude Code / Codex 實際呼叫過
ssh_run。
下載
| 平台 | 檔案 |
|---|---|
| Windows | .exe(NSIS 安裝精靈)或 .msi |
| macOS | .dmg —— Apple Silicon 選 aarch64、Intel 選 x64 |
| Linux | .AppImage(免安裝)、.deb(Debian / Ubuntu)或 .rpm(Fedora / RHEL) |
安裝檔皆未付費簽章,第一次開啟會被系統擋下:
macOS(未經 Apple 公證)
- 開啟 .dmg,把 DB Kit 拖進「應用程式」,打開一次;出現「無法確認是否含有惡意軟體」時按完成(Done),不要丟到垃圾桶。
- 到「系統設定 → 隱私權與安全性」(Privacy & Security),往下捲到「安全性」,在「已阻擋『DB Kit』」那一列按強制打開(Open Anyway)。
- 輸入 Mac 管理員帳號的登入密碼(不是 Apple ID 密碼,也可用 Touch ID)→ 好,再按一次強制打開。之後就能直接開啟。
或在終端機一步完成:xattr -dr com.apple.quarantine "/Applications/DB Kit.app"(若顯示「已損毀」,改用 xattr -cr "/Applications/DB Kit.app")。
Windows:SmartScreen 出現時選「其他資訊 → 仍要執行」。
完整版本紀錄見 CHANGELOG.md。