newbietan/CloudSSH

Serverless Web SSH client built on Cloudflare Workers with a pure TypeScript SSH stack, multi-session terminals, SFTP file management, and an AI operations assistant. 基于 Cloudflare Workers 的无服务器 Web SSH 客户端,支持多会话终端、SFTP 文件管理与 AI 运维助手。

何を解決するか

CloudSSH は、ローカルの SSH クライアントをインストールする必要なく、Web ブラウザからリモートサーバーに接続して管理できる方法を提供します。専用のバックエンドサーバーを必要とせず、サーバーレスインフラを活用することで、どのデバイスからでもリモートアクセスが必要なユーザーにとって、コストとセットアップの複雑さを削減します。

動作方法

このプロジェクトは Cloudflare Workers に基づき、Cloudflare の TCP ソケット機能を利用して、ネットワークエッジで SSH プロトコルを解析・転送します。Web Crypto API を使用した純粋な TypeScript による SSH-2.0 プロトコルスタックを実装しています。

主なアーキテクチャコンポーネントは以下の通りです:

  • Durable Objects:個別のターミナルセッションとユーザー情報を管理するために使用。
  • WebSocket:ブラウザと Worker 間のリアルタイム I/O を実現。
  • エッジネットワーク:最も近い Cloudflare データセンターを経由してトラフィックをルーティングし、低遅延接続を確保。

対象ユーザー

  • システム管理者:複数のサーバーを、あらゆるブラウザから軽量かつ安全に管理したい人。
  • 開発者:リモート管理ツール用に、ゼロコストでサーバーレスでデプロイしたい人。
  • パワーユーザー:SSH ジャンプホスト(バストンサーバー)や、Web インターフェースによる SFTP ファイル管理といった高度な機能を必要とする人。

特徴

  • 完全な SSH-2.0 実装:複数の鍵交換アルゴリズムと認証方法(パスワード、秘密鍵、キーボードインタラクティブ)をサポートするカスタム TypeScript プロトコルスタック。
  • SFTP 統合:CodeMirror を使用して、リモートファイルの閲覧、アップロード、ダウンロード、編集が可能なグラフィカルなファイルマネージャー。
  • SSH ジャンプホスト:内部ネットワークサーバーに到達するための最大 3 レベルのネストされた SSH トンネルをサポート。
  • AI エージェントアシスタント:サイドパネルに搭載された AI アシスタント(BYOK)は、ターミナルエラーの分析、Docker コンテナの管理、システムコマンドの実行が可能。
  • セキュリティ機能:TOFU(初めて使用するときに信頼)ホストキー検証、AES-256-GCM 暗号化による資格情報の安全な保存、およびオプションの Cloudflare Turnstile CAPTCHA。
  • サーバーレスデプロイ:GitHub を通じたワンクリックデプロイで、Cloudflare Workers にデプロイ可能。サーバーのメンテナンスコストはゼロ。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト