🙆‍♀️

Tera Term で SSH Agent Forwarding を使用する

2021/11/08に公開

概要

SSH agent として Pageant を常駐し Tera Term から利用することで、Pageant に登録した秘密鍵を使い、リモートホストおよびその先のホストへ公開鍵認証によるアクセスをおこないます。

概要

参考) ssh-agent による公開鍵認証と SSH Agent Forwarding による多段ログイン

HOWTO

インストール

以下のソフトウェアを使います。

  • Tera Term
  • PuTTY
    ※PuTTY で必要な実行ファイルは puttygen.exe と pageant.exe のみです。単体の exe ファイルもダウンロードできるため、手動で任意のディレクトリに配置しても良いです。

準備: 秘密鍵ファイルの変換

秘密鍵が PEM 形式の場合そのままでは使用できないため、PuTTYgen を使って PPK 形式に変換します。

  1. PuTTY > PuTTYgen (puttygen.exe) を起動する
  2. "Load" ボタンをクリックし、秘密鍵(PEM 形式)ファイルを開く
  3. "Save private key" ボタンをクリックし、名前をつけて保存する

Pageant の起動

以下の手順で Pageant を起動し、秘密鍵を登録しておきます。

  1. PuTTY > Pageant (pageant.exe) を起動する
  2. タスクアイコンを右クリックし、メニューの "Add key" を選択する
  3. 秘密鍵(PPK 形式)ファイルを選択する

Pageant を起動するたびに秘密鍵の登録もやり直さないといけないため、以下のようなショートカットを作っておくと便利です。

  1. pageant.exe へのショートカットを作成する

  2. ショートカットのプロパティを開き、「リンク先」の末尾に秘密鍵(PPK 形式)ファイルのパスを追記する

    例) "C:\Program Files\PuTTY\pageant.exe" "C:\key.ppk"

このショートカットをスタートアップフォルダに入れておけば、PC 起動時に自動起動させることもできます。

SSH 接続

以下の手順でリモートホストに接続します。

  1. Pageant を常駐した状態で Tera Term を起動し、リモートホストに接続する
  2. SSH 認証ダイアログで以下を指定する
    • 「エージェント転送する(O)」をチェック
    • 「認証方式」に「Pageantを使う」を選択

認証ダイアログ

認証用の SSH 鍵は Pageant に登録したものの中から自動的に選択され、接続します。

リモートホストから ssh コマンドでその先のホストに接続しようとすると、「エージェント転送要求を受け入れますか?」という確認メッセージが表示されます。これに「はい」を選択することで、PC の Pageant に登録した SSH 鍵を使って公開鍵認証がおこなわれます。

Discussion