SSHで自動ログインして、
ホスト名_日付.log というログファイルに記録するTeraTermのマクロです。
パスワードログイン版と、公開キーログイン版を用意しました。
パスワード版
ユーザー名:ubuntu
ホスト名: 192.168.0.111
パスワード:初回起動時に入力を求められます
SSH_Login.ttl
;####################################################################################### username = 'ubuntu' hostname = '192.168.0.111' ;IPアドレス 又は ホスト名 portnum = '22' passwdfile = '.password' logpath = "TeraTermLog" ;ログフォルダ名 ;####################################################################################### ; 以下は基本的に編集する必要はありません ;######################################################### ; スクリプトのカレントディレクトリを取得 ;######################################################### getdir ttl_path ;######################################################### ; ログディレクトリがなければ作成、ログファイル名を編集 ;######################################################### outpath = ttl_path strconcat outpath ".\" strconcat outpath logpath foldersearch outpath if result=0 then foldercreate outpath endif ; ログファイル名の編集(ここはお好みに合わせてカスタマイズ) logfilename = outpath getdate logdate '%Y%m%d_%H%M%S.log' strconcat logfilename ".\" strconcat logfilename hostname strconcat logfilename '@' strconcat logfilename username strconcat logfilename '_' strconcat logfilename logdate ;messagebox logfilename 0 ;######################################################### ;パスワード処理 ;######################################################### sprintf2 passwd '%s@%s' username hostname ;パスワードを設定し直すときはパスワードファイルを消すか以下の行を実行 ;delpassword passwdfile passwd getpassword passwdfile passwd userpasswd ;######################################################### ;SSH接続処理 ;######################################################### msg = hostname strconcat msg ':portnum /ssh2 /auth=password /user=' strconcat msg username strconcat msg ' /passwd=' strconcat msg userpasswd strconcat msg inputstr connect msg ;######################################################### ;TeraTermのウィンドウサイズを 160 x 50 に変更(要TeraTerm拡張プラグイン) ;######################################################### dispstr #$1b"[8;50;160t" ;######################################################### ;ログ記録開始 ;######################################################### logopen logfilename 1 1 end
公開キー版
接続先: 192.168.0.222
ポート番号: 8022
シークレットキーのファイル名: XperiaZ2Tablet
公開キー、シークレットキーは接続元のPCで以下のコマンドにて作成
ssh-keygen -t rsa -b 2048 -f XperiaZ2Tablet
XperiaZ2Tablet と XperiaZ2Tablet.pub というファイルができるので XperiaZ2Tablet.pub を接続先の端末へ転送して.ssh/authorized_keysに追加。
XperiaZ2Tablet.pubを接続先のホームにコピーしたらこんな感じになるかな。
cat ~/XperiaZ2Tablet.pub >> ~/.ssh/authorized_keys
SSH_PubKeyLogin.ttl
ターゲット 192.168.0.222
ポート 8022
ユーザー名 Termux
の場合
;####################################################################################### username = 'Termux' ;ユーザー名(何でも良い) hostname = '192.168.0.222' ;ターゲットのIPアドレス portnum = '8022' ;SSHポート番号(Termuxのデフォルトポート番号) keyfile = 'XperiaZ2Tablet' ;シークレットキーのファイル名 logpath = "TeraTermLog" ;ログフォルダ名 ;####################################################################################### ;;;; 以下は基本的に編集する必要はありません ;;;;;;;;;;;;;;; ;######################################################### ; スクリプトのカレントディレクトリを取得 ;######################################################### getdir ttl_path ;######################################################### ; ログディレクトリがなければ作成、ログファイル名を編集 ;######################################################### outpath = ttl_path strconcat outpath ".\" strconcat outpath logpath foldersearch outpath if result=0 then foldercreate outpath endif ; ログファイル名の編集(ここはお好みに合わせてカスタマイズ) logfilename = outpath getdate logdate '%Y%m%d_%H%M%S.log' strconcat logfilename ".\" strconcat logfilename hostname strconcat logfilename '@' strconcat logfilename username strconcat logfilename '_' strconcat logfilename logdate ;messagebox logfilename 0 ;######################################################### ;SSH公開キーのファイル名をフルパスに編集 ;######################################################### keypath = ttl_path strconcat keypath ".\" strconcat keypath keyfile ;######################################################### ;SSH接続処理 ;######################################################### msg = hostname strconcat msg ":" strconcat msg portnum strconcat msg " /ssh2 /auth=publickey /user=" strconcat msg username strconcat msg ' /keyfile=' strconcat msg keypath ;messagebox msg 0 connect msg ;######################################################### ;TeraTermのウィンドウサイズを 160 x 50 に変更(要TeraTerm拡張プラグイン) ;######################################################### dispstr #$1b"[8;50;160t" ;######################################################### ;ログ記録開始 ;######################################################### logopen logfilename 1 1 end
コメント