2014-10-29

TeraTermマクロにてsshログイン自動化①(ユーザ名・パスワード認証)

TeraTermにはマクロファイルを作成してそこに記載された操作を自動実行する機能があります。
基本的な操作はsendlnコマンドでキー操作を送信したりその結果をコンソールから受け取ったりして処理分岐させたりできますのでほとんどの操作が自動化できる大変素晴らしい機能です。
ここでは手始めにsshでUnixサーバにログインするまでのマクロを作成してみます。




ユーザ名・パスワードを指定してログイン


テキストエディタ等で次のコードを記載し、login.ttlとします。
拡張子をttlととすることで、標準インストール状態ではTeraTermマクロ実行プログラムに関連付けされていますのでダブルクリックで実行することができるようになります。

login.ttl の中身

;==================================
; 接続サーバの選択
inputbox '接続サーバ名を入力して下さい。\n ※キャンセルは空白にしてOK\n' '接続サーバ入力' 1

; ファイルパスの設定
getdir varPassFile
strconcat varPassFile '\'
strconcat varPassFile 'pass.dat'

; SSH接続時のパスワード取得
getpassword varPassFile 'SSHLOGIN_PASSWORD' varPassword

varConnect = inputstr
strconcat varConnect ':22 /ssh /auth=password /user=xxxxx /passwd='
strconcat varConnect varPassword

; SSH login
connect varConnect

;==================================
xxxxxの部分はログインユーザ名に書き換えてください。


マクロコード説明


  • getpasswordコマンド
初回実行時、ttlマクロファイルと同じフォルダにpass.datというパスワードファイルを作成し、入力されたパスワードを暗号化して保存します。
2回目以降は、pass.datファイルから自動的にパスワードを読み込んで処理しますので完全自動化となります。
'SSHLOGIN_PASSWORD'この部分は何でもよいです。パスワードファイルは複数のパスワードを記録できますのでそのラベル名となります。

次回は、SSH認証ファイルを利用した自動ログインマクロを作成します。

次回記事