Tera Term(テラターム)のマクロ機能+SSHプロトコル(パスワード認証)を用いた自動ログインマクロで最も基本的な形のマクロをご紹介しました。

ここでは、一歩進んだマクロを解説していきます。

今回ご紹介するのは、以下のような特徴のマクロになります。

①接続先ホスト情報はポップアップメニューから入力
②接続ユーザ名/パスワードは、TTLファイルに直接記述

このマクロを実行する事により、メニューから接続先ホスト情報を入力する事で、ユーザ名・パスワードを入力する事無くサーバに自動でログインする事が可能となります。

全ての管理対象ホストに、同じ管理用ユーザ・パスワードが設定されている場合に威力を発揮するマクロとなっています。

*TTLファイルとは
Tera Termのマクロ言語TTL(Tera Term Language)で作成されたファイルで、通常拡張子が「*.ttl」で保存されているファイルの事です。

スポンサーリンク

SSH自動ログインマクロ(パスワード認証版)

============================================== 
; Filename    : ssh_connect-02.ttl 
; Description : SSH 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 ':22 /ssh /2 /auth=password /user=' 
strconcat COMMAND USERNAME 
strconcat COMMAND ' /passwd=' 
strconcat COMMAND PASSWORD

;; ③接続 
connect COMMAND

;; ④マクロ終了 
end

マクロ内容の解説

項番①接続先ホスト入力・確認

項番①-1、接続先ホスト入力のエリアでは、入力ダイアログボックスを表示し、接続先ホストのIPアドレス、又はホスト名(名前解決が必要)を入力します。 
接続ホスト情報入力ポップアップ

項番①-2では、入力確認を行っています。もし何も入力されずに「OK」が押された場合、以下のエラーを表示しマクロを終了します。
接続情報入力エラーポップアップ

項番②コマンド組立て

コマンド組立てエリアでは、SSH接続(パスワード認証)に必要な文字列を作成しています。

変数「COMMAND」に「strconcat」コマンドを使用し文字を継ぎ足していく事で接続するために必要な文字列を作成しています。

接続先ホストにIPアドレスを設定した場合は、以下のような文字列が作成される事になります。(xxxは、IPアドレス)

;;作成する文字列
xxx.xxx.xxx.xxx:22 /ssh /2 /auth=password /user=#### /passwd=####

SSH接続コマンドで明示的に接続ポートとSSHバージョンを指定していますが、指定しなくても接続は可能です。

以下ポート番号、SSHバージョンを指定する際の記述例です。ご参考にどうぞ。

;;コマンド例
connect 'xxx.xxx.xxx.xxx /ssh /auth=password /user=USER /passwd=PASS'
connect 'xxx.xxx.xxx.xxx /ssh /1 /auth=password /user=USER /passwd=PASS'
connect 'xxx.xxx.xxx.xxx /ssh /2 /auth=password /user=USER /passwd=PASS'
connect 'xxx.xxx.xxx.xxx:22 /ssh /1 /auth=password /user=USER /passwd=PASS'
connect 'xxx.xxx.xxx.xxx:22 /ssh /2 /auth=password /user=USER /passwd=PASS'

最近ではセキュリティ強化で接続ポートを変更しているVPSサーバ等もありますので、その際は接続ポートを変更してみてください。

項番③接続

接続のエリアでは、項番①で作成した変数(文字列)「COMMAND」を使用し、「connect」コマンドで対象ホストへSSH接続を行います。

項番④マクロ終了

自動ログインが完了するとマクロ機能を終了します。マクロを終了してもセッションは維持され、通常のコンソール操作が可能となります。

スポンサーリンク

おわりに

SSH接続には、パスワード認証の他にもいろんな認証方式を兼ね揃えています。「②コマンド組立て」を修正する事で、他の認証方式にも対応可能ですので、ご自身の環境に合わせて変更してみてください。