認証

DR-Terminal は 3 つの認証方式に対応しています。パスワード、秘密鍵、FIDO2(YubiKey)セキュリティキーです。

パスワード

最もシンプルな方法です。保存済みの接続に入力したパスワードは、JSON 設定ではなくプラットフォームのセキュアストアに保存されます。パスワードフィールドが空の場合、アプリは接続のたびに尋ねます。

公開鍵 → パスワードへのフォールバック:サーバーが公開鍵を拒否した場合(例:authorized_keys に含まれていない)、DR-Terminal は接続を切断せず、自動的に同じユーザーのパスワードを尋ねます。

秘密鍵

OpenSSH、PKCS#1、PKCS#8、ssh.com、PuTTY PPK(v2/v3)形式の鍵をすべて受け付けます。形式は自動的に判別されるため、.ppk の鍵も事前に変換することなく使えます。次のことができます。

鍵がパスフレーズで暗号化されている場合、DR-Terminal はその鍵を初めて使うときにパスフレーズを尋ね、その後は メモリ上にのみ 保持します。ssh-agent と同様に、アプリの実行ごとに一度ロックを解除すれば済み、アプリを終了するとすべての鍵が再びロックされます。インポートした暗号化済みの鍵は、元の暗号化された形のままセキュアストアに保存されます。多くのアルゴリズムに対応しています。RSA、ECDSA(P-256、P-384、P-521)、Ed25519、Ed25519-SK、ECDSA-SK(FIDO)です。

鍵ジェネレーター

設定 → セキュリティに SSH 鍵を生成 ウィザードがあります。種類(例:ed25519)を選び、パスフレーズ(任意 — セキュアストア内でも鍵を保護します)を設定すると、鍵がローカルに保存されます。既定の鍵コメントは ${user}@${host}@DR-Terminal で、サーバー上で鍵を見分けるのに便利です。公開鍵はクリップボードにコピーして、サーバーの ~/.ssh/authorized_keys に貼り付けられます。

一覧の鍵はその場で 名前変更 できます。選んだ名前が既存のものと衝突する場合、アプリは自動的に (2) を付け加えます。

鍵コンバーター

設定 → セキュリティ → SSH 鍵 → 変換 は、秘密鍵を一般的なあらゆる形式の間で再シリアライズします。ソース(保存済みの鍵、ファイル、貼り付けたテキスト)と出力形式を選び、結果をコピー・共有・保存できます。

双方向に対応する形式:

形式読み込み書き出し
OpenSSH (BEGIN OPENSSH PRIVATE KEY)
PKCS#8 (BEGIN PRIVATE KEY)
PKCS#1 (BEGIN RSA PRIVATE KEY、RSA のみ)
PuTTY PPK — v2 と v3

入力は PEM(テキスト)、PuTTY PPK、または生のバイナリ DER に対応し、形式は自動的に判別されます。鍵の種類:RSA、Ed25519、ECDSA(P-256/384/521)。

PKCS#1 は RSA 鍵のみを表すため、その出力形式はソースが RSA 鍵の場合にのみ提供されます。

パスワード接続を鍵に切り替える

authorized_keys を手作業で編集する必要はありません。保存済みのパスワード接続について、DR-Terminal は 2 か所でガイド付きの移行を提供します。

どちらも同じ流れです。保存済みの鍵を選ぶか新しく生成すると、DR-Terminal は既存のパスワードログインを使ってサーバーに公開鍵を配置し、鍵認証が実際に動作することを確認し、そのうえで初めて保存済みの接続を鍵認証に切り替えます。確認に失敗した場合、接続は変更されません。

セキュリティキー(FIDO2 / YubiKey)

DR-Terminal は ed25519-skecdsa-sk の鍵を扱い、アプリ内で生成することもできます。外部の ssh-keygen は不要です。

DR-Terminal で YubiKey 連携の鍵を生成する

  1. 設定 → セキュリティ → SSH 鍵 → SSH 鍵を生成
  2. セキュリティキー スイッチをオンにします。アルゴリズムを選びます。Ed25519-SK(推奨)または ECDSA-SK です。
  3. 指示が出たら YubiKey にタッチします。アプリはトークンに新しいクレデンシャルの作成を要求し、公開鍵に署名します。
  4. 鍵は DR-Terminal の鍵マネージャーに保存されます。公開鍵をコピーして、ターゲットサーバーの ~/.ssh/authorized_keys に貼り付けてください。

Windows Hello:Windows では、FIDO2 の PIN 入力はアプリ内ダイアログではなく、ネイティブの Windows Hello ダイアログ(PIN / 指紋 / 顔)です。

レジデント 鍵(YubiKey 自体に保存される鍵)を使うと、鍵ファイルを持ち歩く必要がなくなります。秘密全体がトークン上にあるからです。DR-Terminal で生成した鍵はレジデントではありません。クレデンシャルハンドルは鍵マネージャーに保存され、トークンと一緒に必要になります。

既存の SK 鍵を使う

別の場所で生成済みの id_ed25519_sk / id_ecdsa_sk(例:ssh-keygen -t ed25519-sk 経由)がある場合は、同じ鍵マネージャーからインポートしてください。DR-Terminal はインポートした SK 鍵と生成した SK 鍵を同じように扱います。

接続時

DR-Terminal は鍵へのタッチを要求します。インジケーターが点滅したらタップしてください。iOS は NFC と USB-C(YubiKey 5Ci 以降)に対応します。Android は NFC + USB(OTG)。デスクトップはネイティブの FIDO2 API(Windows Hello、macOS、Linux は libfido2 経由)を使用します。

Previous
SSH 接続
Next
ターミナル