Tera Term のマクロを、1本にまとめる

接続先が増えるたびに .ttl が増えていく運用を、そのままにしていませんか。 TTP は接続先ごとにマクロを生成しません。同梱の connect.ttl 1本に接続情報を渡して起動します。

接続先ごとの .ttl が抱える問題

Tera Term のマクロ入門記事は、ほぼすべて「接続先ごとに .ttl を1枚作る」形で書かれています。手元で試す分には分かりやすいのですが、運用に乗せると次の4つが順番に現れます。

  • ファイルが増える — 接続先が20あれば .ttl が20枚。どれが現役で、どれが古いのか分からなくなります。
  • 変更が全ファイルに散る — 接続方式や待ちプロンプトを変えるたびに、全部を直して回ることになります。
  • 書ける人しか触れない — 新しい接続先を足すのに、マクロを書ける人へ依頼する必要があります。異動や退職で、誰も触れなくなります。
  • 秘密がファイルに残る — パスワードをマクロに直接書く例が大半で、共有フォルダに認証情報が置かれることになります(別記事で詳しく扱っています)。

TTP の方式 — connect.ttl 1本 + 環境変数

TTP が同梱しているマクロは1本だけです。接続先の情報は、マクロを起動するときに環境変数として渡します。

; connect.ttl (全接続先で共通)
getenv 'TT_TTL_HOST'   myhost
getenv 'TT_TTL_PORT'   myport
getenv 'TT_TTL_AUTH'   myauth
getenv 'TT_TTL_USER'   myuser
getenv 'TT_TTL_PASSWD' mypasswd
getenv 'TT_TTL_LOGPATH' mylogpath

myconnectparam = ''
strconcat myconnectparam myhost
strconcat myconnectparam ':'
strconcat myconnectparam myport
strconcat myconnectparam ' /ssh /2'
strconcat myconnectparam ' /auth='
strconcat myconnectparam myauth
strconcat myconnectparam ' /user='
strconcat myconnectparam myuser
strconcat myconnectparam ' /passwd='
strconcat myconnectparam mypasswd

connect myconnectparam

strlen mylogpath
if result > 0 then
  logopen mylogpath 0 0
endif

接続先が何台に増えても、この1本を書き換える必要はありません。接続先の追加・変更は、すべて GUI の一覧側で完結します。

渡している環境変数

変数内容
TT_TTL_HOSTホスト名または IP アドレス
TT_TTL_PORTTCP ポート(既定 22)
TT_TTL_AUTHpassword または publickey
TT_TTL_USERログインユーザ名
TT_TTL_PASSWDパスワード(実行時のみ。ファイルには残りません)
TT_TTL_PRIVATEKEY鍵認証のときの秘密鍵パス
TT_TTL_LOGPATH自動生成されたログファイルのフルパス
TT_TTL_PROMPTログイン後に待つプロンプト文字列
TT_TTL_SENDLN_PARAMプロンプト検出後に送るコマンド

接続先ごとに変えられるもの

マクロを分けなくても、接続先ごとの差異は設定側で吸収できます。

ログイン後の自動操作

「プロンプト」と「送信コマンド」を接続先ごとに設定すると、ログイン後に wait → sendln を1回だけ実行します。プロンプトを空にすれば、ログイン後の自動操作は行いません。

たとえばプロンプトに $、送信コマンドに uptime を入れておけば、接続直後に状態を確認した状態で画面が開きます。

踏み台を経由する多段接続

「踏み台にログイン → その上で対象ホストへ」という2段の接続も、接続先ごとの設定だけで表現できます。

接続先の詳細設定画面。「踏み台経由で接続する」にチェックが入り、6項目の入力欄が並んでいる。
詳細設定(任意)の「踏み台経由で接続する」。

手順と設定のコツ、現時点の制限は 踏み台経由の自動ログイン にまとめています。

設定役割
踏み台ログイン後のプロンプト踏み台でこの文字列を待つ
踏み台で実行するコマンドssh user@target など
対象のパスワードプロンプトpassword: など
対象のパスワード暗号化して保存
対象ログイン後のプロンプト最終的にこの文字列を待つ
対象で実行するコマンドログイン後に送るコマンド

踏み台を使う設定では、接続タイムアウトが自動的に延長されます(通常5秒 → 踏み台時15秒)。

マクロを書けない人でも運用できる状態にする

TTP の中心は「接続先一覧」の画面です。接続先の追加・編集・複製・削除・並べ替えはすべて GUI で完結し、マクロ言語に触れる場面がありません。

  • 一覧は名前・ホスト・ポート・認証方式・ユーザで表示され、列クリックで並べ替えできます
  • 接続先は選んでダブルクリック(または Enter)で接続します
  • 設定と暗号化データは ttp フォルダ内の ttp_data にまとまります
  • ttpmacro.exe は Tera Term 4 / 5 を自動検出します

「マクロを書ける人が1人しかいない」状態を、「一覧に登録できる人なら誰でも接続できる」状態に置き換えるのが、この構成の狙いです。

現時点の制限。 TTP は同梱の connect.ttl を起動する方式です。任意の自作 .ttl を指定して実行する機能はありません。ログイン後のコマンドや踏み台の手順で表現できない処理が必要な場合は、その部分だけ別のマクロで実行してください。

次に読む

最終更新: 2026年11月14日