Termini
ログインダウンロード

技術仕様

Terminiデスクトップアプリの各セッションプロトコルについて、実装詳細、認証マトリクス、チャネル能力と限界を示します。項目は現行実装と一致します。使えない能力はその旨を記し、先行きの約束はしません。

SSH

クライアントは独自の SSH スタックを搭載し、システムの ssh バイナリには依存しません。接続、認証、転送はすべてアプリ内で行われ、キーストア、セッションワークスペース、運用アシスタントと、同じデバイス識別を共有します。

接続

  • 既定ポートは 22。接続タイムアウトはデバイスごとに設定できます。
  • プロトコル層のキープアライブを、デバイスごとに設定した間隔で送り、NAT とファイアウォールを越える長いセッションを維持します。
  • セッション再利用:同じデバイスの複数ペイン(ターミナル / SFTP)が下層接続を共有し、繰り返しのハンドシェイクとログインを避けます。

認証マトリクス

  • 公開鍵:OpenSSH 形式の秘密鍵。パスフレーズと証明書に対応し、キーはローカルのキーストアに保存します。PuTTY の PPK は先に OpenSSH へ変換してください。
  • キーボードインタラクティブ:サーバーの対話チャレンジに答えます。
  • パスワード:静的パスワード認証。
  • SSH agent:システムエージェントに載っている識別を使います。Windows では Pageant にも対応します。
  • 試行順は 公開鍵 → キーボードインタラクティブ → パスワード で、最初の成功で止まります。
  • 限界:GSSAPI 認証はまだ使えません。

ターミナル

  • ターミナル種類(TERM)はデバイスごとにカスタムできます。サイズはペインにリアルタイムで従います。
  • フォントとテーマはペインごとに調整でき、検索はセッションを中断しません。

ポート転送

  • ローカル転送:ローカルポートを対象ネットワーク内のサービスへ安全につなぎます(-L の意味)。
  • リモート転送:リモートポートをこちらへ戻し、逆方向の障害対応に使います(-R の意味)。
  • ダイナミック転送:手元に SOCKS5 プロキシを開き、トラフィックは対象ホストから出ます(-D の意味)。
  • 転送ルールはターミナルセッションから独立して管理でき、いつでも開始と停止ができ、状態(アイドル / 実行中 / エラー)が見えます。

Telnet

自前の Telnet スタックです。ネットワーク機器とレガシーシステム向けに、完全なオプション交渉とセッション適応を備え、スクリプトとアシスタントが安定して実行できます。

オプション交渉

  • BINARY:バイナリ伝送モード。
  • ECHO:エコー制御(サーバー側エコーを受けます)。
  • SGA:Go-Ahead を抑え、全二重の対話にします。
  • TTYPE:ターミナル種類の報告。候補リストは設定できます。
  • NAWS:ウィンドウサイズの交渉。ペインのリサイズはデバイスへリアルタイムで同期します。
  • EOR:レコード終端の印。
  • 交渉は接続確立中に終わり、最初のデータパケットを待ちません。

セッション適応

  • ログインプロンプト検出:ユーザー名 / パスワードのプロンプトを自動で合わせ、スクリプトとアシスタントのログインを安定させます。
  • ページング:機器のページ分割出力を検出し、自動で送ります。長い出力は途切れません。
  • 行末(NVT EOL)とコマンドエコー検証は設定でき、ベンダー差に合わせられます。

キープアライブと限界

  • 二層のキープアライブ:TCP keepalive に加え、プロトコル層の NOP ハートビート。
  • 限界:文字セット交渉(RFC 2066)はまだ使えません。

RDP

自前の RDP スタックです。映像級のデコードと描画パイプラインを持ち、グラフィカルデスクトップはターミナルセッションと同じワークスペースで扱います。

セキュリティ層と認証

  • セキュリティ層:自動交渉 / TLS / NLA。
  • NLA:CredSSP 上のネットワークレベル認証。Kerberos に対応します。
  • RDSTLS:リダイレクト場面での RDSTLS 認証。
  • Azure AD:AAD 参加ホスト向け。ブラウザ OAuth でログインします。
  • ドメインアカウントでログインできます。自己署名証明書は明示的に信頼できます。

表示と入力

  • 解像度は固定、またはウィンドウに従う。色深度は 16 / 24 / 32 ビット。
  • フレームコーデックはサーバーと交渉:H.264 / AVC444 / WebP / PNG / JPEG / RAW。
  • キーボード配列は設定できます。入力はスキャンコードと Unicode の両チャネルを通り、修飾キー状態はリアルタイムで同期します。
  • マウスの移動、ボタン、ホイールを完全に対応。リモートのカーソル形状は描画に従います。
  • 壁紙やスムージングなどリモート効果を切る性能フラグを設定でき、滑らかさを優先できます。
  • 全画面:Ctrl+Alt+Pause で全画面を抜け、Ctrl+Alt+Home で接続バーを表示します。

チャネル

  • クリップボード(CLIPRDR):テキスト、ファイル、HTML、画像の双方向。
  • ドライブのリダイレクト(RDPDR):ローカルフォルダをリモートの Explorer へマップします。
  • 音声(RDPSND):リモート音声を手元で再生します。

セッション

  • コンソール(管理者)セッションは任意。ハートビートのキープアライブはデバイスごとに設定します。

SFTP

SSH サブシステム上にあり、認証、ホスト信頼、下層接続をターミナルセッションと共有します。ローカルとリモートは二ペインで扱います。

ファイル操作

  • ディレクトリの閲覧、アップロードとダウンロード、新しいフォルダ / ファイル、名前の変更、削除。
  • 権限変更(chmod)、隠しファイル、パスのコピー。

転送管理

  • 同名の競合を検出します。スキップか上書きかはあなたが確認し、静かに上書きすることはありません。
  • 進捗は今のペインに残ります。タスクはいつでもキャンセルできます。
  • 限界:再開可能な転送はまだ使えません(再開オフセットは下層で予約済みです)。

ローカルシェル

  • ローカル PTY セッション:Windows は ConPTY、macOS / Linux はシステムの PTY。
  • Windows は利用可能なターミナルを自動発見します:PowerShell、CMD、pwsh、WSL、Git Bash。
  • ターミナル設定、検索、AIコマンド提案は、リモートセッションと同じ体験です。

信頼とキープアライブ

  • ホストフィンガープリント:初回接続で確認が必要です。変化したフィンガープリントはアラートになり、拒否、今回だけ信頼、永続信頼を選べます。
  • 資格情報の境界:デバイスのパスワード、秘密鍵、パスフレーズはローカルデータに留まり、ウェブサイトのアカウントと一緒にアップロードされることはありません。
  • プロトコルごとのキープアライブ:SSH / RDP はプロトコル層のハートビート、Telnet は TCP keepalive と NOP。

システム要件

デスクトップ

  • WindowsWindows 10 / 11
  • macOSApple Silicon と Intel
  • Linux主要なデスクトップディストリビューション

セッションプロトコル

  • リモートSSH · Telnet · RDP · SFTP
  • ローカルローカルシェル(PTY / ConPTY)