Tera Term 自動ログインマクロ作成

共通 ID + 共通パスワード : パスワードは最初の一回だけ手入力

マクロの書き方は、色々ありますが、その中でもよく使われると思われるのは、以下の 2パターンです。

  • 共通 ID / PW : パスワードはマクロに記載せず、最初の一回だけ手入力
  • 異る ID / PW : パスワードをマクロに記載して、全自動ログイン

この例では、パスワードをマクロに保存するのは、セキュリティ上、あまり良くないので、共通 ID / PW : パスワード情報をマクロに記載せず、最初の一回だけ手入力 するようにします。

  • 全てのサーバには、同じ ID と PW が設定されている前提
  • パスワードは、マクロに書くのではなく、最初の一回だけ手入力し、後は自動ログイン

ログインマクロ作成

Tera Term のマクロファイルの拡張子は、ttl です。

この例では、マクロを使ってログインする対象サーバを以下とし、各サーバには、hogehoge というログインユーザ ID に同じパスワードが設定されているとします。

サーバの IPIDPW
192.168.0.11hogehogehogehoge123
192.168.0.12hogehogehogehoge123
192.168.0.13hogehogehogehoge123

以下のマクロファイルで設定が必要なところは、以下の通りです。

パスワードは、マクロに書きません。

  • ① の USERNAME に共通ログイン ID 設定(HOSTADDR に IP アドレス設定は、不要)
  • ④ に該当サーバの接続先 IP アドレスと SSH ポート番号を設定
  • ⑦ の timeout 値
teraterm_login_macro.ttl
001
002
003
004
005
006
007
008
009
010
011
012
013
014
015
016
017
018
019
020
021
022
023
024
025
026
027
028
029
030
031
032
033
034
035
036
037
038
039
040
041
042
043
044
045
046
047
048
049
050
051
052
053
054
055
056
057
058
059
060
061
062
063
064
065
066
067
068
069
070
071
072
073
074
075
076
077
078
079
080
081
082
083
084
085
086
087
088
089
090
091
092
093
094
095
096
097
098
099
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
;;===============================================================
;; 同じ ID/PW を用いたログインマクロ
;;===============================================================
;; ① USERNAME に共通ログイン ID 設定
;; ② 接続先ホストの共通パスワードを入力(何もしなくてよい)
;; ③ 入力確認(何もしなくてよい)
;; ④ に該当サーバの接続 IP アドレスと SSH ポート番号を設定
;; ④ ~ ⑧ をサーバの台数分コピペして使い回す
;; ⑨ マクロ終了(何もしなくてよい)
;;===============================================================

;; ① USERNAME に共通ログイン ID 設定
HOSTADDR = 'Tera Term Login Macro'
USERNAME = 'hogehoge'


;; ② 接続先ホストの共通パスワードを入力(何もしなくてよい)
MASSAGE = 'HOST : '
strconcat MASSAGE HOSTADDR
strconcat MASSAGE ' / USER NAME : '
strconcat MASSAGE USERNAME
passwordbox MASSAGE 'Please enter your password.'
PASSWORD = inputstr


;; ③ 入力確認(何もしなくてよい)
strcompare PASSWORD ''
if result=0 then
    messagebox 'Please enter your password.' 'Password error'
    end
endif
unlink


;; ④ コマンド組立て(サーバの IP と SSH ポート番号(22) を設定)
COMMAND = '192.168.0.11'
strconcat COMMAND ':22 /ssh /2 /auth=password /user='
strconcat COMMAND USERNAME
strconcat COMMAND ' /passwd='
strconcat COMMAND PASSWORD

;; ⑤ 接続
connect COMMAND

;; ⑥ 接続判定1(接続出来ない場合は、メッセージを表示し、マクロ終了)
if result <> 2 then
    messagebox 'teraterm macro could not connect to this Server.' 'Connection Error'
    end
endif

;; ⑦ 接続判定2(60秒以内にプロンプトが表示されない場合は、終了)
timeout = 60
wait '$' '#'
if result=0 then
    end
endif

;; ⑧ ホスト名表示
sendln 'hostname'
wait '$' '#'
unlink


;; ④ コマンド組立て(サーバの IP と SSH ポート番号(22) を設定)
COMMAND = '192.168.0.12'
strconcat COMMAND ':22 /ssh /2 /auth=password /user='
strconcat COMMAND USERNAME
strconcat COMMAND ' /passwd='
strconcat COMMAND PASSWORD

;; ⑤ 接続
connect COMMAND

;; ⑥ 接続判定1(接続出来ない場合は、メッセージを表示し、マクロ終了)
if result <> 2 then
    messagebox 'teraterm macro could not connect to this Server.' 'Connection Error'
    end
endif

;; ⑦ 接続判定2(60秒以内にプロンプトが表示されない場合は、終了)
timeout = 60
wait '$' '#'
if result=0 then
    end
endif

;; ⑧ ホスト名表示
sendln 'hostname'
wait '$' '#'
unlink


;; ④ コマンド組立て(サーバの IP と SSH ポート番号(22) を設定)
COMMAND = '192.168.0.13'
strconcat COMMAND ':22 /ssh /2 /auth=password /user='
strconcat COMMAND USERNAME
strconcat COMMAND ' /passwd='
strconcat COMMAND PASSWORD

;; ⑤ 接続
connect COMMAND

;; ⑥ 接続判定1(接続出来ない場合は、メッセージを表示し、マクロ終了)
if result <> 2 then
    messagebox 'teraterm macro could not connect to this Server.' 'Connection Error'
    end
endif

;; ⑦ 接続判定2(60秒以内にプロンプトが表示されない場合は、終了)
timeout = 60
wait '$' '#'
if result=0 then
    end
endif

;; ⑧ ホスト名表示
sendln 'hostname'
wait '$' '#'
unlink


;; ⑨ マクロ終了
end

timeout の設定値について

⑦ の timeout 値 は、以下のマクロでは、60秒 を設定しています。

この設定のままでよいと思いますが、環境に合わせて調整してください。

あまりにも短すぎるとログインできなくなるので、ご参考までに。

マクロを使って実際にログインして見る

では、上記のマクロを使って、実際にログインして見ます。

Step 1. Tera Term 実行

まずは、Tera Term を実行します。

ログインダイアログ が表示されますが、マクロを使ってログインするので、ESC または、キャンセルをクリックします。

Tera Term 実行

Step 2. マクロを開く

コントロール > マクロをクリックします。

コントロール - マクロ

作成したマクロファイルを選択し、開くをクリックします。

マクロを開く

Step 3. パスワード入力

全サーバの共通パスワードを入力し、Enter または、OK をクリックします。

このパスワード入力は、最初の 1回だけでよいです。

パスワード入力

そうすると以下のように、各サーバごとに、自動的にログインが行われます。

自動的にログインダイアログ

無事に自動ログインできました。

複数サーバへ自動ログインしているので、ログインに成功した後、hostname を実行するようにしています。

ホスト名が間違いないことを確認してから作業してください。

ログイン後に hotname 自動実行

終わりに

パスワード情報をマクロに記載しないやり方なので、より安全に複数サーバへログイン出来ます。

ちなみに、; は、コメントアウト です。

上記の内容をファイルに保存し、必要な箇所だけ書き換えて使ってください。

以上、Tera Term 自動ログインマクロ (共通 ID / PW) でした。