Tera Term(テラターム)のマクロ機能を利用し、SSHプロトコル(パスワード認証) でサーバ等に自動ログイン+アルファ(パスワード暗号化)のテラタームマクロをご紹介します。

前回ご紹介したマクロでは、パスワードを手動で入力し自動ログインを行っていました。
⇒ Tera Termマクロサンプル-SSH自動ログイン(パスワード入力版)

しかし毎回パスワードを入力するのは面倒ですよね。

そこで一度パスワードを入力してログインしたものに関しては、パスワードを暗号化してファイルに保存&次回のログインからはパスワードを暗号化したファイルから読み込み、パスワード入力無しでログインが可能となるマクロをご紹介していきます。

一応パスワードファイルの中身の文字列は暗号化されていますが、パスワードファイルの取り扱いには充分注意してご利用ください。

スポンサーリンク

SSH自動ログインマクロ(パスワードを暗号化して保存)

;=========================================================
; Filename    : ssh_connect-06.ttl
; Description : SSH Auto login
; Author      : JUNZOU
; Created     : 2011/04/03
; modified    : 
;=========================================================
;; 接続報ホスト/ユーザ名設定
HOSTADDR = '接続先IPアドレス'
USERNAME = 'ユーザ名'
;; パスワードファイル指定
PASSFILE = 'C:\password.dat'
;=========================================================
;; パスワード取得
getpassword PASSFILE USERNAME PASSWORD

;; コマンド組立て
COMMAND = HOSTADDR
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 'It could not be connected.' 'Connection Error'
    end
endif

;; 接続判定2(接続して10秒以内にプロンプトが表示されない場合もマクロ終了)
timeout = 10
wait '$' '#'
if result = 0 then
    end
endif

;; ホスト名表示
sendln 'date'
wait '$' '#'

;; マクロ終了
end

マクロ内容の解説

①パスワード取得

パスワード取得のエリアでは、接続する際のユーザ名に対するパスワードを「getpassword 」コマンドで指定したパスワードファイルより読み込みを行っています。

「getpassword」コマンドの書式(△は空白)

getpassword△ファイル名△パスワード識別子△文字列変数

⇒ 「getpassword」コマンドの詳細はこちらを参照してください

始めて接続するユーザ(パスワードが保存されていない)の場合は、パスワードを入力するポップアップメニューが表示されます。

パスワード入力画面

一度パスワードの入力が完了すると、入力したパスワードが指定したファイルに暗号化して保存され、次回からパスワードの入力を求められなくなります。

ファイルの中身は、こんな感じで保存されています。
===============================
[Password]
testuser01=>YV](~XKm15#O:J}?}"oLyt1VR
===============================

もしパスワードを誤って入力した場合は、ファイルの対象行を削除してください。次回接続時にもう一度パスワード入力画面が表示されます。

②コマンド組立て/③接続

⇒ コマンド組立て・接続のエリアの解説はこちらを参照

④接続判定1/⑤接続判定2

⇒ 接続判定のエリアの解説はこちらを参照

⑥時刻表示

「sendln」コマンドを使用して、コンソール上で「data」コマンドを実行しています。

⑦マクロ終了

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

スポンサーリンク

おわりに

一応パスワードを暗号化してファイルに保存していますが、もしこのパスワードが記録されたファイルを盗まれてしまうと元も子もありません。パスワードの管理には十分注意し、このマクロをご利用いただければと思います。