Skip to main content
Glama

ホストコンソール HostConsole

SSH の操作は AI に任せるが、鍵は自分の手元に残す。

English · 简体中文

License: MIT Platform MCP Electron Tests

主な機能 · スクリーンショット · クイックスタート · AI の接続 · セキュリティモデル · 動作原理 · FAQ


なぜホストコンソールが必要か

あなたもこんなジレンマに陥ったことがあるだろう。NAS やサーバー、ルーターの管理を AI に任せたいが、SSH の鍵やパスワードを AI クライアントに直接渡すのはどうも不安だ——

  • 鍵を一度 AI の設定に貼り付けたら、それはマシン全体を渡したも同然であり、どこに記録されるかも分からない。

  • AI 用に一時公開鍵を生成して authorized_keys に追加しても、使い終わったら忘れずに削除する必要があり、面倒で忘れがち。

  • AI が sudo を実行するとき、どんなコマンドを実行するのか見えず、承認する余地もない。

  • AI クライアント(Codex、OpenCode、ZCode……)を変えるたびに、認証フロー全体をやり直さなければならない。

ホストコンソールの答え:鍵は決してあなたのコンピューターから離れない。

ホストコンソールで SSH に手動接続し(パスワード / 秘密鍵、システムレベルで暗号化して保存)、「認証済みセッション」をローカル MCP ブリッジ経由で AI に渡す。AI はセッションのエイリアス(例:「自宅 NAS」)しか見えず、ターミナルを操作でき、いつでも一時停止・切断できる——しかしアドレス、ポート、ユーザー名、秘密鍵は決して取得できない

┌─────────────┐   SSH 凭据只到这里,加密保存    ┌──────────────┐
│   你本人     │ ────────────────────────────▶ │  你的 NAS /  │
│  (主机台 UI) │ ◀──────────────────────────── │   服务器      │
└──────┬──────┘        已建立的 SSH 会话        └──────────────┘
       │ 授权(相对安全 / 完全开放)
       ▼
┌──────────────┐  本机命名管道(不出网、不开端口) ┌─────────────┐
│  主机台 MCP   │ ◀──────────────────────────▶ │  AI Agent   │
│   桥接器      │      只传命令与输出、别名        │ Codex 等     │
└──────────────┘                                └─────────────┘

Related MCP server: SSH MCP Server

適用シーン

  • 🏠 家庭用 NAS / ホームサーバー:SMART 状態の確認、Docker のクリーンアップ、RAID アラートの修復を AI に任せたいが、root 権限は渡したくない

  • 🖥️ 個人 VPS / 開発機:デプロイ、ログ確認、nginx 設定変更。AI が作業し、あなたが承認する

  • 🌐 ルーター / ネットワーク機器:AI に診断を手伝ってもらいたいが、デバイスの認証情報は絶対に外部に漏らせない

  • 🔁 複数の AI クライアント利用者:Codex、OpenCode、ZCode、WorkBuddy が同じ認証済み SSH セッションを共有。ツールを変えても再認証不要

  • 🛡️ 監査を重視する人:sudo コマンドはすべてあなたの目の前の承認ダイアログを通過し、コマンド原文が明確に表示される

スクリーンショット

メイン画面(Agent 接続センター + 権限モード)

Agent 接続ウィザード

Agent 接続センター(展開)

狭い画面対応

主な機能

  • 🔐 認証情報の分離:SSH アドレス、ポート、ユーザー名はローカル設定のみに保存。パスワードと秘密鍵は Electron safeStorage(Windows システム認証情報保護)で暗号化され、独立した金庫に保存。AI は MCP 経由でセッションのエイリアスと認証状態のみ取得でき、それ以外は一切見えない——これは専用のテストで保証されている。

  • 🚦 二重権限モード相対的安全(AI は ID / システム / ストレージ / プロセス / コンテナ / サービス / ログの 7 種類の固定読み取り専用チェックのみ実行可能)と完全開放(現在の SSH アカウントの完全なターミナル権限)。いつでもワンクリックで切り替え可能。

  • 💳 sudo 承認フロー:AI が権限昇格を必要とする場合、専用の exec_sudo を呼び出し、ホストコンソールが自動的にコマンド原文を表示するダイアログを表示し、あなたが承認した後にのみ実行。オプションで 30 分(デフォルト、0〜240 分で調整可能)の再確認不要ウィンドウを設定可能。sudo パスワードはローカル金庫から SSH 標準入力経由で直接リモートに渡され、コマンドテキスト、ターミナル記録、AI コンテキストには一切入らない

  • 🟢 Agent 接続センター:接続されたすべての AI がステータスランプでリアルタイム表示(オンライン / オフライン / 制御中)。各 Agent に独立した接続スイッチがあり、オフにすると即座にその SSH 制御権と sudo 認証を解放。他の Agent には影響せず、SSH も切断されない。

  • 🧙 ワンクリック接続ウィザード:Codex TOML、OpenCode JSONC、ZCode、WorkBuddy、および汎用 JSON/JSONC の 6 種類の MCP 設定形式を自動認識して書き込み。書き込み前にプレビュー可能、タイムスタンプ付きのバックアップを自動生成。

  • ✍️ 単一書き込みリース:同時に 1 つの Agent のみがターミナルに書き込める。他の Agent は占有状態を確認できるが、コマンドを挿入できない。「引き継ぎ / 強制引き継ぎ」を明示した場合のみ移行される。

  • 🫸 即時遮断:「AI を一時停止」で操作を即座にブロックしつつ SSH 接続は維持。「接続を切断」で認証、リース、sudo 認証を同時に取り消す。

  • 🖥️ ローカル手動コマンドのフォールバック:AI が実行を拒否したり、対話入力を必要とする場合、インターフェース内のコマンド入力ボックスで自分で入力できる。

  • 🇨🇳 全中国語インターフェース:中国語ユーザー向けに設計。権限モードからエラーメッセージまで、翻訳を調べる必要のある英語用語は一切ない。

  • 29 項目のセキュリティテスト:認証情報の分離、リースの排他性、sudo のライフサイクル、設定のマスキングなど、主要なセキュリティ主張はすべて自動テストで保証されている(npm test)。

クイックスタート

環境要件

  • Windows 10/11

  • Node.js 20+(npm 含む)

起動

git clone https://github.com/tuweihuasheng/host-console.git
cd host-console
npm install
npm run desktop

アプリウィンドウを閉じてもシステムトレイに常駐し、SSH セッションは切断されない。

3 ステップで開始

  1. 接続:「新規接続」をクリックし、SSH パスワード / 秘密鍵の貼り付け / 鍵ファイルの選択。初回接続時にホストの SHA-256 フィンガープリントを確認して固定(TOFU)。

  2. 認証:接続後、右側で「相対的安全」または「完全開放」を選択。

  3. AI を呼び出す:ホストコンソールに接続済みの AI に次のように指示——

    このマシンは「家庭 NAS」の SSH に接続済みです。ディスクと Docker コンテナの状態を確認してください。

    AI は MCP 経由で認証済みセッションを自動的に発見し、制御権を取得して作業を開始する。

AI の接続

ホストコンソールはローカル名前付きパイプで MCP サービスを提供する(\\.\pipe\host-console-mcp)。TCP ポートは一切リッスンせず、クラウドの Agent は到達できない。

最も簡単な方法は、ホストコンソールで「Agent を接続」ボタンをクリックし、内蔵ウィザードで設定を自動書き込みすること(自動バックアップとプレビューに対応)。以下は手動設定の参考:

Codex(~/.codex/config.toml

[mcp_servers.host_console]
command = "node.exe 的完整路径"
args = ["C:\\path\\to\\host-console\\mcp\\server.mjs"]
startup_timeout_sec = 10
tool_timeout_sec = 60

OpenCode(~/.config/opencode/opencode.jsonc

"mcp": {
  "host_console": {
    "type": "local",
    "command": ["node.exe 的完整路径", "C:\\path\\to\\host-console\\mcp\\server.mjs"],
    "enabled": true,
    "timeout": 60000,
    "environment": {
      "HOST_CONSOLE_AGENT_LABEL": "OpenCode",
      "HOST_CONSOLE_CLIENT_KIND": "opencode"
    }
  }
}

ZCode(~/.zcode/cli/config.jsonmcp.servers)、WorkBuddy(~/.codebuddy/.mcp.jsonmcpServers)、および任意の汎用 JSON/JSONC も同じ構造で接続可能。または内蔵ウィザードで直接書き込み。

設定書き込み後は、対応する AI クライアントを完全に終了して再起動する必要がある(MCP クライアントは起動時にのみ設定を読み込む)。接続に成功すると、ホストコンソールの「Agent 接続センター」に緑のステータスランプが表示され、認証済みセッションのエイリアスと権限モードが AI に同期される。

セキュリティモデル

AI が見えるもの、見えないもの

AI が見える

AI が見えない

セッション

エイリアス(例:「家庭 NAS」)、接続状態、権限モード

ホストアドレス、ポート、ユーザー名

認証情報

——

SSH パスワード、秘密鍵、sudo パスワード(すべて暗号化してローカル金庫に保存)

操作

相対安全:7 種類の固定読み取り専用チェック完全開放:任意のコマンド + sudo 承認

sudo 承認を回避するコマンドは直接拒否

ターミナル

最近の出力(読み取り可能なテキスト)

あなたの手動入力はエコー表示されない

多重防御

  1. パイプレベルの分離:MCP はローカル名前付きパイプのみにバインドされ、外部ネットワークに出ず、ポートも開かない。同じコンピューターの外からは誰も接続できない。

  2. 単一書き込みリース:同時に 1 つの Agent のみがターミナルを操作でき、引き継ぎにはユーザーの明示が必要。

  3. 二要素確認:複数セッションのシナリオでは、AI はセッション ID 正確なエイリアスの両方を提供する必要があり、一致しない場合は拒否される。

  4. sudo ライフサイクル:一時認証は現在のセッションと現在の制御 Agent にのみバインドされ、一時停止 / 切断 / 引き継ぎ / 権限降下 / 期限切れで即座に無効化。いつでも手動で早期終了も可能。

  5. 認証情報の不可逆性:認証情報を変更するには先に SSH を切断する必要がある。古い認証情報は決してエコー表示されず、新しい認証情報は暗号化して上書きされる。

既知の制限

  • ホストコンソールと同じ Windows ユーザーで実行されている悪意のあるローカルプロセスは、理論上は名前付きパイプに接続できる——信頼できないローカル環境では「完全開放」モードを使用しないこと。

  • 現在は MVP であり、署名付きインストーラーと自動更新はまだ提供されていない。

MCP ツール一覧

AI 側から呼び出せる 9 つのツール:

ツール

用途

権限要件

get_bridge_status

接続された AI クライアントと認証済みセッションを表示(エイリアスと状態のみ)

任意

list_authorized_sessions

認証済み SSH セッションを発見

任意

get_session_status

接続、認証モード、一時停止状態、現在の制御者を表示

任意

acquire_control

単一 Agent の書き込みリースを取得(複数セッションでは ID + エイリアスの二重確認)

任意

release_control

リースを解放(SSH を切断せず、認証も取り消さない)

任意

safe_inspect

7 種類の固定読み取り専用診断(ID / システム / ストレージ / プロセス / コンテナ / サービス / ログ)

相対安全

exec_terminal

任意の Shell コマンドを実行(sudo 検出を含み、sudo が混入すると拒否)

完全開放

exec_sudo

権限昇格コマンド。ホストコンソールの承認ダイアログで承認後に実行

完全開放 + 承認

read_terminal

対話型ターミナルの最近の出力を読み取る

完全開放

動作原理

主机台 (Electron)
├── src/                    全中文桌面界面(React 19)
├── electron/
│   ├── main.cjs            窗口、托盘、命名管道服务、IPC
│   ├── session-manager.cjs 加密保险箱、SSH 连接池、授权与租约、sudo 审批
│   ├── agent-config.cjs    6 种格式的 Agent 配置向导(预览 + 备份 + 原子写入)
│   └── policy.cjs          只读命令白名单、公开信息脱敏
├── mcp/server.mjs          MCP 桥接服务(stdio → 命名管道)
└── tests/                  29 项安全与行为测试

FAQ

Q:AI はどうやってホストコンソールを呼び出すと知るのか? MCP に接続すると、ホストコンソールは初期化説明で認証済みセッションのエイリアスと権限モードを AI に能動的に同期する。通常どおりタスクを指示するだけ:「このマシンは家庭 NAS の SSH に接続されています。……」。

Q:AI クライアントを変えても使えるか? 使える。認証は SSH セッションにバインドされており、Agent にはバインドされていない。ホストコンソールの MCP に接続されたローカル AI はどれでも、同じセッションを発見し(リースが空いている場合)引き継ぐことができる。

Q:複数の SSH に同時に接続するとどうなるか? AI はセッション ID と正確なエイリアスの二重確認を提供しなければならず、誤ったホストを操作するのを防ぐ。

Q:sudo パスワードは AI に見られるのか? 見られない。パスワードはローカル金庫で復号された後、SSH 標準入力経由で直接リモートの sudo に送信される。AI を経由せず、コマンドテキストやターミナル記録にも入らない(専用テストで保証)。

Q:停電 / シャットダウンで認証情報は失われるか? 失われない。金庫ファイルは Windows ユーザーデータディレクトリに永続化され、システムの認証情報保護機能で暗号化される。ただし、金庫ファイルを信頼できないマシンにコピーしないこと。

Q:Linux / macOS はサポートされているか? インターフェースとロジックにプラットフォームの前提はないが、現在は Windows で開発・検証されている。safeStorage は他のプラットフォームでは各システムのキーチェーンに依存する。テストフィードバック歓迎。

開発

npm run dev      # 浏览器开发预览
npm run desktop  # 构建并启动 Electron 桌面版
npm test         # 29 项测试

開発に参加する場合は AGENTS.md を読んで、プロジェクトの製品決定に関する規約を理解してください。

ライセンス

MIT © 2026 host-console contributors

A
license - permissive license
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    An MCP server that gives AI agents SSH access to remote machines through your local OpenSSH client, enabling remote command execution, file transfer, persistent shell sessions, and port forwarding.
    17
    5
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that gives AI agents SSH capabilities to execute commands, transfer files, and inspect remote systems through a preconfigured host list.
    43
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    An MCP server for managing remote SSH servers, enabling AI agents to execute commands, transfer files, and perform deployment operations securely.
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    An MCP server that enables AI to execute SSH commands on remote servers using the host's OpenSSH client, supporting both configured targets and dynamic connections with request-scoped credentials.

View all related MCP servers

Related MCP Connectors

  • Let AI operate servers without SSH. Choose actions, approve risky changes, and audit every step.

  • Operate Linux, macOS and Windows from your LLM. Every action runs through an auditable allowlist.

  • MCP server for secureFlows: token-free URL builders and integration-linting tools for AI agents.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/tuweihuasheng/host-console'

If you have feedback or need assistance with the MCP directory API, please join our Discord server