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」コマンドを実行しています。
⑦マクロ終了
自動ログインが完了するとマクロ機能を終了します。マクロが終了してもセッションは維持され、通常のコンソール操作が継続して行えます。
おわりに
一応パスワードを暗号化してファイルに保存していますが、もしこのパスワードが記録されたファイルを盗まれてしまうと元も子もありません。パスワードの管理には十分注意し、このマクロをご利用いただければと思います。