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


コメント