| この記事の要点 |
|
TeraTerm 自動接続の 3 つのアプローチ
| 方法 | 難易度 | 柔軟性 | 用途 |
|---|---|---|---|
| 起動オプション | ★ | 低 | 固定接続先・ショートカット |
| TERATERM.INI 編集 | ★★ | 中 | デフォルト設定の永続化 |
| マクロ (.ttl) | ★★★ | 高 | パスフレーズ・コマンド自動化 |

方法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 # マクロ実行
ショートカット作成
- デスクトップで右クリック → 新規作成 → ショートカット
- 項目の場所に上記コマンドを入力
- 名前を「本番サーバ接続」等に
- ダブルクリックで一発接続
方法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 N | N 秒待機 |
logopen 'file' 0 0 | ログ取得開始 |
messagebox 'msg' 'title' | メッセージ表示 |
getpassword 'file' 'key' var | 暗号化パスワード取得 |
setdate / settime | 日時取得 |
end | マクロ終了 |
パスフレーズの安全管理
方法 A: Pageant (PuTTY 系)
WinSCP / PuTTY 付属の Pageant に秘密鍵を登録しておくと、TeraTerm から鍵パスフレーズを聞かれずに認証できます:
- Pageant を起動 (タスクトレイに鍵アイコン)
- 右クリック → Add Key → 秘密鍵を選択 + パスフレーズ入力
- 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 に合わせる。
子ページ
子ページはありません
同階層のページ
- サーバーへの公開鍵によるSSH接続方法
- 自動接続設定
- エラー一覧
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript で base URL を取得する方法|window.location.origin
- 4 YouTube Data API v3 エラー一覧|403・400・404 の原因と対処
- 5 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 6 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 7 Spring Frameworkのアノテーション一覧
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- プロジェクトをTomcatプロジェクトとして認識させる方法 2026-10-07 22:32:50
- MySQLの1366 Incorrect string value|Laravelの文字コード・絵文字エラー 2026-10-07 21:54:03
- curlの証明書ホスト名不一致|旧エラー51・現行60の確認と対処 2026-10-07 21:54:03
- LaravelのMassAssignmentException|fillableの原因と安全な対処 2026-10-07 21:54:03
- Eclipse で Tomcat の起動ログがコンソールに出ない時の確認手順 2026-10-07 21:54:02
- MySQLにおける中央値(Median)の導き方(バージョン8未満) 2026-10-07 13:49:45
- getInputForward 2026-10-07 13:41:15
- JSONから配列に変換 2026-10-07 13:41:15
- ビューから値をモデルに格納しコントローラーで受け取る方法 2026-10-07 13:23:41
- Laravelのテーブル作成と定義変更|マイグレーション・up/down・注意点 2026-10-07 13:23:41
- NumPy 配列に要素を追加する方法 (append / concatenate) 2026-10-07 13:23:41
- MariaDB・MySQLで現在日時を取得する方法|NOW・タイムゾーン・保存型 2026-10-07 13:13:36
- 【django】テンプレートで定数を使用する方法 2026-10-07 13:10:15
- Spring BootにおけるApplication.propertiesの環境依存設定の分割方法 2026-10-07 12:09:35
- Not supported for DML operations【Springエラー】 2026-10-07 11:09:38