Tera Term の接続管理を、属人化させない。
認証情報を、ファイルに残さない。
接続先は GUI の一覧から選ぶだけ。マクロは 1 本を全員で共有します。
zip を解凍するだけ/インストール不要/レジストリ不使用/Tera Term 4・5 対応
- マクロは 1 本 接続先ごとに .ttl を作らない。共有するのは connect.ttl だけ。
- AES-256 で暗号化 パスワード・鍵・AWS キーは、マスターパスワード由来の鍵で保護。
- ログは自動 接続のたびにタイムスタンプ付きログを生成。取り忘れがない。
いま、こんな運用になっていませんか
共有フォルダの .ttl が、認証情報の山になっている
マクロの書き方として紹介されるサンプルは、ほぼすべて PASSWORD = '...' の平文です。接続先が増えるほど、パスワードが書かれたファイルが増えていきます。
マクロを書ける人が、一人しかいない
接続先を足すたびに、その人へ依頼する。異動や退職で、誰も触れなくなる。手順書もマクロも、属人化したまま残ります。
誰がいつ入ったか、説明できない
「ログを取っておいて」と決めても、実際には取り忘れる。監査や障害対応のときに、作業履歴が出てきません。
TTP がやること
接続先の管理と、認証情報の扱いを分離します。マクロを書く人がいなくても、全員が同じ手順で接続できる状態をつくります。
; 自動ログインサンプル.ttl
HOSTADDR = '192.168.1.10'
USERNAME = 'admin'
PASSWORD = 'P@ssw0rd' ← 平文で残る
COMMAND = HOSTADDR
strconcat COMMAND ':22 /ssh /2 /auth=password'
strconcat COMMAND ' /user='
strconcat COMMAND USERNAME
strconcat COMMAND ' /passwd='
strconcat COMMAND PASSWORD
connect COMMAND
; connect.ttl (全接続先で共通)
getenv 'TT_TTL_HOST' myhost
getenv 'TT_TTL_PORT' myport
getenv 'TT_TTL_USER' myuser
getenv 'TT_TTL_PASSWD' mypasswd ← 実行時だけ
myconnectparam = ''
strconcat myconnectparam myhost
strconcat myconnectparam ':'
strconcat myconnectparam myport
strconcat myconnectparam ' /ssh /2 /auth=password'
strconcat myconnectparam ' /user='
strconcat myconnectparam myuser
strconcat myconnectparam ' /passwd='
strconcat myconnectparam mypasswd
connect myconnectparam
できること
接続先は一覧で管理
名前・ホスト・ポート・認証方式・ユーザを一覧表示。列で並べ替え、複製、削除ができます。選んでダブルクリックすれば接続します。
マクロは 1 本を共有
同梱の connect.ttl に接続情報を環境変数で渡します。接続先が増えても .ttl は増えません。
認証情報は暗号化して保持
AES-256 (Fernet) で暗号化。鍵導出は PBKDF2 の 480,000 回反復。マスターパスワード自体は保存しません。
マクロに認証情報を書かない
パスワードは子プロセスの環境変数として渡します。共有フォルダに .ttl が置かれていても、そこにパスワードはありません。
ログは自動で残る
接続のたびに 日時_接続名.log を生成し、そのまま記録を開始します。保存先は設定で変更できます。
ポータブル
zip を解凍するだけ。レジストリも AppData も使いません。アンインストールはフォルダを削除するだけです。
このほか、鍵ファイルの暗号化保存、ttpmacro.exe の自動検出(Tera Term 4 / 5)に対応しています。
画面
踏み台の向こう側へ、そのままログイン
踏み台にログインして、そこから目的のホストへ。 Tera Term ではマクロを書く必要があったこの2段接続を、TTP は接続先ごとの設定項目で表現します。 パスワードは暗号化して保存され、マクロファイルには残りません。対象ホストが鍵認証の構成にも対応しています。
パスワードでも、鍵認証でも
踏み台の6項目を埋めると、次の流れを自動で実行します。対象ホストが鍵認証なら「ターゲットは鍵認証」にチェックするだけです。
- 踏み台のログイン完了を待つ
sshで対象ホストへ接続- パスワード要求を待って、暗号化ストアから送信
- ログイン後に確認コマンドを1回実行
ほかのツールとの違い
| 項目 | TTP | TeraTerm Menu | LogMeTT | RLogin |
|---|---|---|---|---|
| 接続先を一覧で管理 | ○ | ○ | ○ | ○ |
| Tera Term マクロで接続 | ○ | ○ | ○ | — |
| 接続先ごとに .ttl を作らない | ○ | — | — | — |
| 認証情報の暗号化保存 | ○ AES-256 |
公式情報に記載なし | — | 公式FAQで「保存しないでください」と案内 |
| 接続ログの自動取得 | ○ | × | × | 設定で可 |
| ポータブル(レジストリ不使用) | ○ | △ | × | △ |
| AWS SSM / ECS Exec 接続 | ○ | × | × | × |
| 現在の提供状況 | 提供中 | Tera Term に同梱 | Tera Term 5.0 で削除 | 提供中 |
※ 各ツールの仕様は公式ドキュメントの記載に基づきます。LogMeTT・TTLEditor は Tera Term 5.0(2023年10月)でインストーラから削除され、ソース非公開のため復活していません。 詳しくは TeraTerm Menu との違い、LogMeTT からの移行、RLogin との使い分け をご覧ください。
AWS から接続する(任意)
SSM / ECS Exec で「いま繋がる」EC2 と Fargate タスクだけを一覧表示し、そのままシェルに入れます。 SSH の鍵もインバウンドポートも不要です。
必要なのはプラグインだけ
Session Manager プラグインのみ。AWS CLI v2 は不要です(インストール済みならフォールバックとして使われます)。
Tera Term とは独立した追加機能
SSH の代わりに SSM / ECS Exec を使うため、Tera Term も sshd も不要です。使わない場合は設定もインストールも増えません。
配布と更新について
コード署名はしていません。その代わり、依存の更新と脆弱性チェックを毎月自動で回し、その結果を GitHub に残しています。
初回だけ、警告が出ます
「詳細情報」→「実行」で起動できます。2回目以降は表示されません。コード署名証明書を使っていないためで、動作に問題があるという意味ではありません。判断材料は配布と更新の方針にまとめています。
毎月、自動で更新しています
毎月1日 03:00 に GitHub Actions が依存を最新化し、スモークチェックと pip-audit による脆弱性検査を通したうえで、新しい版を自動リリースします。検査に落ちた場合はリリースされません。
導入
-
zip を任意のフォルダに解凍
デスクトップや
C:\Tools\ttp\など、分かりやすい場所に置いてください。Program Files 配下は権限の問題が起きる場合があるため避けます。 -
ttp.exeを起動し、マスターパスワードを設定このパスワードが接続情報を暗号化する鍵になります。忘れると復号できないため、パスワード管理のルールに沿って保管してください。
-
ttpmacro.exe を確認して、接続先を登録
Tera Term 4 / 5 を自動検出します。接続先を登録したら、一覧から選んでダブルクリックで接続できます。
初回起動時の SmartScreen について。
コード署名を付けていないため、「Windows によって PC が保護されました」と表示されることがあります。
「詳細情報」→「実行」で起動できます。2 回目以降は表示されません。
内容を確認したい場合は、GitHub のソースから
uv run python build.py で自分でビルドできます。
よくある質問
Tera Term 5 で LogMeTT が使えなくなりました。代わりになりますか?
はい。Tera Term 5.0 で LogMeTT と TTLEditor はインストーラから削除され、これらはソース非公開のため復活していません。TTP は接続先を一覧で管理し、マクロを介して Tera Term に接続するツールで、LogMeTT の「接続先を選んで起動する」役割を置き換えられます。
LogMeTT からの移行もご覧ください。
TeraTerm Menu との違いは何ですか?
TeraTerm Menu は Tera Term に同梱される接続先ランチャーです。TTP は接続先の管理に加えて、認証情報を AES-256 で暗号化して保持し、マクロファイルには認証情報を書き出さず、接続ログを自動取得します。設定はレジストリではなくアプリのフォルダ内に保存するため、ポータブルに扱えます。
TeraTerm Menu との違いに詳しくまとめています。
パスワードはどこに保存されますか?
ttp フォルダ内の ttp_data に、マスターパスワードから導出した鍵で暗号化して保存します。暗号化は AES-256 (Fernet)、鍵導出は PBKDF2 の 480,000 回反復です。マスターパスワード自体は保存せず、検証用のトークンのみを保持します。
パスワードをファイルに残さない方法で、他の選択肢と比較しています。
接続先ごとにマクロファイルを作る必要がありますか?
いいえ。TTP は接続先ごとに .ttl を生成しません。同梱の connect.ttl 1 本に接続情報を環境変数で渡して起動します。接続先が増えてもマクロファイルは増えないため、どれが現役のマクロか分からなくなることがありません。
踏み台サーバー経由で SSH 接続できますか?
はい。接続先の詳細設定で「踏み台経由で接続する」を有効にすると、踏み台へのログイン → 対象ホストへの ssh → パスワード入力 → ログイン後のコマンド実行までを自動で行います。マクロを書く必要はありません。
踏み台のパスワードも対象ホストのパスワードも暗号化して保存され、マクロファイルには残りません。
対象ホストが鍵認証の場合は、「ターゲットは鍵認証(パスワード入力なし)」にチェックすると、パスワード送信が省略されます(プロンプト2 とターゲットPW は空で保存されます)。踏み台側に鍵や ~/.ssh/config が用意されていれば、ssh ホスト名 や ssh -i 鍵 ホスト名 でそのままログインできます。設定項目と制限は踏み台経由の自動ログインにまとめています。
AWS CLI は必要ですか?
AWS から接続する機能(SSM / ECS Exec)を使う場合、必要なのは Session Manager プラグインだけです。AWS CLI v2 は不要です(インストール済みの場合はフォールバックとして使われます)。Tera Term マクロによる SSH 接続だけを使う場合は、AWS 関連の設定は一切不要です。
RLogin とどちらを使うべきですか?
タブ管理や画面分割、SFTP までターミナル内で完結させたい場合は RLogin が向いています。Tera Term のマクロやシリアル接続をそのまま使い続けたい場合は、ターミナルを乗り換えずに接続管理だけを整える TTP が向いています。
RLogin との使い分けもご覧ください。
初回起動時に「Windows によって PC が保護されました」と表示されます。大丈夫ですか?
コード署名証明書を使っていないため表示されます。「詳細情報」→「実行」で起動でき、2回目以降は表示されません。
TTP は毎月1日に GitHub Actions で依存を最新化し、スモークチェックと pip-audit による脆弱性検査を通したうえで、新しい版を自動リリースしています。検査に落ちた場合はリリースされません。配布物は GitHub Releases からのみ提供しています。
配布と更新の方針に、自動化している内容と自分で確認する方法をまとめています。