Tera Term(テラターム)のマクロ機能+TELNETプロトコルを利用した、サーバへの自動ログインマクロをご紹介します。
今回ご紹介するのは、以下のような特徴のマクロになります。
①接続先サーバ情報は、ポップアップメニューから入力
②接続ユーザ名/パスワードは、TTLファイルに直接記述
*TTLファイルとは
Tera Termのマクロ言語TTL(Tera Term Language)で作成されたファイルで通常拡張子が、「*.ttl」で保存されているファイルの事です。
この自動ログインマクロを実行する事により、ポップアップメニューから接続先ホスト情報を入力すると、ユーザ名・パスワードを手入力する事無しに、サーバへ自動ログインする事が可能となります。
全ての管理対象ホストに、同じ接続ユーザ・パスワードが設定されている環境でメチャクチャ便利になってくるマクロになります。
TELNET自動ログインマクロ
;============================================= ; Filename : telnet_connect-02.ttl ; Description : TELNET Auto login ; Author : JUNZOU ; Created : 2011/03/20 ; modified : ;============================================= ;; ユーザ名/パスワード設定箇所 USERNAME = 'ユーザ名' PASSWORD = 'パスワード' ;============================================= ;; ①-1、接続先サーバ情報入力 inputbox 'Please input an IP address or the host name.' 'Host information input' HOSTADDR = inputstr ;; ①-2、入力確認(ホスト名 or IPアドレスの入力が無い場合終了) strlen HOSTADDR if result = 0 then messagebox 'Host information is not input.' 'Input error' end endif ;; ②コマンド組立て COMMAND = HOSTADDR strconcat COMMAND ':23 /nossh /T=1' ;; ③サーバへ接続 connect COMMAND ;; ④ログイン情報応答(ユーザ名・パスワード) wait 'login:' sendln USERNAME wait 'Password:' sendln PASSWORD ;; ⑤マクロ終了 end
マクロ内容の解説
項番①接続先サーバ情報入力・確認
項番①-1、接続先サーバ情報入力のエリアでは、接続先ホストのIPアドレス、またはホスト名(名前解決が必要)の入力を求めるダイアログボックスが表示されますので、接続を行いたいサーバの情報を入力します。
項番①-2では、入力確認を行っています。何も入力されずに「OK」が押された場合は、以下のエラーポップアップを表示しマクロを終了します。
項番②コマンド組立て
コマンド組立てエリアでは、TELNET接続に必要な文字列を作成しています。
変数「COMMAND」に「strconcat」コマンドを使用し文字を継ぎ足していく事で接続するための文字列を作成しています。
接続先ホストにIPアドレスを設定した場合は、以下のような文字列が作成される事になります。(xxxはIPアドレス)
xxx.xxx.xxx.xxx:23 /nossh /T=1
まず「strconcat」コマンドは、文字列を継ぎ足す機能があります。
⇒ 「strconcat」コマンドの詳細はこちらを参照ください
続いての「/nossh」オプションは、通常TeraTermを使用した接続でSSHを使用している場合にTELNET接続が失敗するのを防止します。
なぜ失敗するかと言うと、「TERATERM.INI」ファイルが最後に保存された時と同じ接続方法「SSH or TELNET」が使用されるためです。
簡単に言うと、強制的にTELNET接続を行うオプションになります。
項番③サーバへ接続
サーバへ接続のエリアでは、項番①で作成した変数(文字列)「COMMAND」を使用し「connect」コマンドで対象ホストへTELNET接続を行います。
項番④ログイン情報応答
ログイン情報応答のエリアでは、接続に必要なユーザ名・パスワードを自動入力します。ログイン時に表示される「login:」プロンプトが表示されるとユーザ名を自動入力し、「Password:」が表示されるとパスワードを自動で入力してログイン処理を行います。
項番⑤マクロ終了
自動ログインが完了するとマクロ機能を終了します。セッションは維持されたまま、通常のコンソール操作が利用可能となります。
おわりに
これまで、TeraTermマクロ&TELNETプロトコルを利用した自動ログインマクロを2種類ご紹介致しました。次回からは、TeraTermマクロ&SSHプロトコルを使った自動ログインマクロをご紹介していきます。
⇒ TeraTermマクロ&SSHプロトコルマクロ一覧