2.

TeraTerm 自動接続設定完全ガイド

編集
この記事の要点
  • TeraTerm の自動接続は 起動オプション + TERATERM.INI + マクロ (.ttl) の組み合わせ
  • SSH 自動ログイン: ttermpro.exe /ssh user@host /auth=publickey /keyfile=key.pem
  • マクロでパスフレーズ入力 / 自動コマンド実行 まで可能(connect, wait, sendln
  • 秘密鍵パスフレーズは Pageant 連携で安全に管理
  • TERATERM.INI に Host= / HostHistoryNumber= を書くと履歴自動表示

TeraTerm 自動接続の 3 つのアプローチ

方法難易度柔軟性用途
起動オプション固定接続先・ショートカット
TERATERM.INI 編集★★デフォルト設定の永続化
マクロ (.ttl)★★★パスフレーズ・コマンド自動化

TeraTerm 設定ダイアログ

方法1: 起動オプションで自動接続

TeraTerm の ttermpro.exe はコマンドライン引数で接続先を直接指定できます。

書式:
  ttermpro.exe [接続先] [オプション]

例:
  # Telnet で接続
  ttermpro.exe 192.168.1.1:23

  # SSH でユーザー指定
  ttermpro.exe /ssh user@example.com

  # SSH ポート指定
  ttermpro.exe /ssh user@example.com:2222

  # 公開鍵認証
  ttermpro.exe /ssh user@example.com /auth=publickey /keyfile=C:\keys\id_rsa

  # パスワード指定(セキュリティ注意)
  ttermpro.exe /ssh user@example.com /auth=password /passwd=secret

  # コマンドプロンプト透過
  ttermpro.exe /M=auto.ttl   # マクロ実行

ショートカット作成

  1. デスクトップで右クリック → 新規作成 → ショートカット
  2. 項目の場所に上記コマンドを入力
  3. 名前を「本番サーバ接続」等に
  4. ダブルクリックで一発接続

方法2: TERATERM.INI で設定保存

TeraTerm メニューの 設定 → 設定の保存TERATERM.INI に現在のセッション設定を保存できます。デフォルト保存先は TeraTerm インストールフォルダ。

; TERATERM.INI 主要項目

; 接続先
HostName=192.168.1.100
HostPort=22
SSH=1

; SSH 設定
SSHVersion=2
SSHAuth=publickey
SSHKey=C:\keys\id_rsa
SSHUser=admin

; 履歴自動補完
HostHistoryNumber=10

; 端末サイズ
TerminalWidth=120
TerminalHeight=40

; 文字コード(日本語サーバ向け)
KanjiCode=UTF8
KanjiCodeSend=UTF8

; 自動ログイン用マクロ
AutoOpenMacro=auto_login.ttl

; ログ自動保存
LogAutoStart=on
LogDir=C:\TeraTermLog

方法3: マクロ (.ttl) で完全自動化

パスフレーズ入力やログイン後コマンド実行まで含めた完全自動化はマクロが最強です。

; auto_login.ttl
; SSH 公開鍵認証で自動ログイン後、ログを確認する例

; ホスト・ユーザ・鍵パスを設定
HOSTADDR  = '192.168.1.100'
USERNAME  = 'admin'
KEYFILE   = 'C:\keys\id_rsa'

; 接続文字列を組み立てて connect
COMMAND = HOSTADDR
strconcat COMMAND ':22 /ssh /auth=publickey /user='
strconcat COMMAND USERNAME
strconcat COMMAND ' /keyfile='
strconcat COMMAND KEYFILE
connect COMMAND

; プロンプト待ち
wait '$' '#'

; ログを確認
sendln 'tail -n 30 /var/log/syslog'
wait '$' '#'

; 状況確認コマンド
sendln 'df -h'
wait '$' '#'

sendln 'free -m'
wait '$' '#'

; マクロは終了するがセッションは継続
end

マクロのよく使う命令

命令役割
connect 'str'接続実行
sendln 'cmd'コマンド送信 + Enter
send 'str'文字列送信(Enter なし)
wait 'str' ...文字列待機(複数指定可)
pause NN 秒待機
logopen 'file' 0 0ログ取得開始
messagebox 'msg' 'title'メッセージ表示
getpassword 'file' 'key' var暗号化パスワード取得
setdate / settime日時取得
endマクロ終了

パスフレーズの安全管理

方法 A: Pageant (PuTTY 系)

WinSCP / PuTTY 付属の Pageant に秘密鍵を登録しておくと、TeraTerm から鍵パスフレーズを聞かれずに認証できます:

  1. Pageant を起動 (タスクトレイに鍵アイコン)
  2. 右クリック → Add Key → 秘密鍵を選択 + パスフレーズ入力
  3. TeraTerm で SSH 接続するとパスフレーズなしで通る

方法 B: getpassword で暗号化保存

; auto_login.ttl
; パスワードを暗号化ファイルから読む

PASSFILE = 'C:\teraterm\pwd.dat'
KEY      = 'mykey'

; ファイルが無ければ初回作成(手動)
; passwordbox + putpassword で作る

getpassword PASSFILE KEY PASSWD

COMMAND = '192.168.1.100:22 /ssh /user=admin /passwd='
strconcat COMMAND PASSWD
connect COMMAND

pwd.dat は TeraTerm 独自形式で暗号化されますが、強い暗号ではないので絶対に共有・公開しないこと。

用途別レシピ集

複数サーバを順次確認

; multi_check.ttl
HOSTS = 'web01;web02;db01;app01'
strspecial HOSTS

while 1
  strtok HOSTS ';' 1
  H = inputstr
  if result = 0 then break endif

  connect H ':22 /ssh /auth=publickey /keyfile=C:\keys\id_rsa /user=admin'
  wait '$' '#'
  sendln 'uptime; df -h /'
  wait '$' '#'
  disconnect 0
endwhile

踏み台経由 (Proxy Jump)

; 1. 踏み台に SSH
connect '/ssh user@bastion.example.com /auth=publickey /keyfile=C:\keys\id_rsa'
wait '$' '#'

; 2. 内部サーバへ ssh で再接続
sendln 'ssh -i ~/.ssh/internal_key admin@10.0.1.50'
wait '$' '#'

FAQ

Q: ttermpro.exe にパスを通したい
A: 環境変数 PATH に C:\Program Files (x86)\teraterm を追加。または cmd で doskey tt=ttermpro.exe $*

Q: パスワードを /passwd= で渡すのは安全?
A: コマンドラインに残り、プロセス一覧で見えるので非推奨。Pageant か公開鍵認証を使ってください。

Q: 接続後にカーソルが日本語表示で化ける
A: TERATERM.INI で KanjiCode=UTF8 + KanjiCodeSend=UTF8、端末側 locale も UTF-8 に合わせる。

編集
Post Share
子ページ

子ページはありません

同階層のページ
  1. サーバーへの公開鍵によるSSH接続方法
  2. 自動接続設定
  3. エラー一覧

最近更新/作成されたページ