Teratermでログインとログ取得を自動化!
初めまして、gakuです。![]()
ネットワークエンジニアを3年ほどやっています。![]()
今回は、そんなネットワーク領域でよく使うTeratermについて、便利な使い方をご紹介します。
ネットワーク機器、サーバーへの接続や日々のログ取得など、
Teratermを使った定型作業を自動化できるTeratermマクロ。
Tertermには「マクロ機能」があり、これを使えば面倒な作業をワンクリックで自動化できます。
この記事では、Teratermマクロを使った「自動ログイン」と「ログ取得」の方法を、分かりやすく解説していきます。
1. この記事でできるようになること
今回作成するマクロでは、以下の作業が自動化できます。
・指定したIPアドレスへのSSH接続
・ユーザー名とパスワードを使った自動ログイン
・ログイン後から切断までの操作ログの自動保存(ファイル名にタイムスタンプを付与)
2. 用意するもの
・Teratermがインストールされている PC
・接続先のIPアドレス、ログイン用のID、パスワード
・サクラエディタ
※Teratermは窓の森等、Webから簡単にダウンロードできます。
エディタに関しては、何でも大丈夫ですが日本語を記載する場合、文字コードUTF-8で記述できるものがおすすめです。
3. 手順
早速コードを書いていきます。
1.変数定義
エディタを開き以下のように変数を定義していきます。
⚠️ 注意点:
LOGIN_ID, LOGIN_PW, MAC_IPは、ご自身の利用環境に合わせて必ず書き換えてください。
;===================================
; 変数定義
;===================================
LOGIN_ID = 'admin' ; ログインID
LOGIN_PW = 'ABCDEFG' ;ログインパスワード
TIME_FMT = '%Y%m%d-%H%M%S' ;時刻フォーマット[年月日-時分秒]
MAC_IP = '192.168.0.0' ; 接続先のIP
HOST_NM = 'gaku' ;機器のホスト名
2.初期処理
カレントディレクトリを取得し、現在時刻を取得する処理を書きます。
;===================================
; 初期処理
;===================================
;カレントディレクトリ取得
getdir DIR
;現在時刻取得
getdate TIME TIME_FMT ;日時取得
3.メイン処理
次にメイン処理です。
ここでは、変数定義したオブジェクトを使用して実行するコマンドの内容を書いていきます。
また、ログ取得時のファイル名規則も定義していきます。
;===================================
;メイン処理
;===================================
; MACPC SSHコマンド作成
SSH_CMD_1 = MAC_IP
strconcat SSH_CMD_1 ':22 /ssh /2 /auth=password /user='
strconcat SSH_CMD_1 LOGIN_ID
strconcat SSH_CMD_1 ' /passwd='
strconcat SSH_CMD_1 LOGIN_PW
strconcat SSH_DMC_1 ' /timeout=5'
; ログファイル名
LOG_FILE = DIR
strconcat LOG_FILE '\log\'
strconcat LOG_FILE HOST_NM
strconcat LOG_FILE '_'
strconcat LOG_FILE TIME
strconcat LOG_FILE '.txt'
; MACPC SSH接続
connect SSH_CMD_1
4.エラー時の処理
接続が失敗した場合の、エラー文の表示とエラーログのはき出しもするようにしていきます。
; MACPC 接続失敗時
if result <> 2 then
; 現在時刻取得
getdate ERR_LOG_TIME TIME_FMT
; エラーログ出力
statusbox 'SSH接続に失敗しました。' '接続エラー'
ERR_LOG =DIR
strconcat ERR_LOG '\_connect_err.txt'
fileopen fhandle ERR_LOG 1
filewrite fhandle ERR_LOG_TIME
filewrite fhandle ','
filewriteln fhandle MAC_IP
fileclose fhandle
end
endif
mpause 1000
; ログ取得開始
logopen LOG_FILE 1 1
4. マクロファイルの作成
次に、作成したコードのテキストファイルを、マクロファイルに変換し、Teratermマクロと紐づけていきます。
(拡張子を.txt→.ttlに変更)

拡張子を変更したファイルを、Teratermマクロプログラムで規定で開くように設定します。


5. 実際にマクロを実行してみる
作成したマクロファイルを実行し、自動で機器へログインとログ取得が実行されていたら完成です。
6. まとめ
以上で、Teratermマクロでの全自動ログインとログ取得の方法になります。
皆さんの日々の業務の助けにでもなれば幸いです。
ここまで、読んでいただきありがとうございました。
それでは、🎄⛄🎁~Merry Christmas!~🎄
🦌
