Teratermマクロでssh接続を自動化する
概要
サーバやネットワーク機器にssh接続する際にログインユーザとパスワードを入力するのが面倒なためTeratermのマクロ機能によって自動化する。プロンプトは、機器によって変更できるようにしています。
仕様
マクロと同じ階層に「logs」フォルダが作成される。
ログファイルは、「20211114195355_server91.txt」のようなファイル名になる。
ソースコード
;Teraterm ver: 4.105
;SSH接続をしてログを取得するマクロ
;踏み台サーバ無しで単独で動作する
;SSH接続先情報
HOSTNAME = 'server01'
IPADDR = '192.168.10.22'
USERNAME = 'root'
PASSWORD = 'P@ssw0rd'
;ENABLE_PASSWORD = 'cisco'
;プロンプトの定義
Prompt1 = '$'
Prompt2 = ':'
Prompt3 = '#'
Prompt4 = '>'
;ログフォルダの作成
Getdir LOGDIR
Strconcat LOGDIR '\'
Strconcat LOGDIR 'logs'
Foldercreate LOGDIR
;時刻取得
Getdate NOW '%Y%m%d%H%M%S'
Getdate NOW2 '%Y/%m/%d-%H:%M:%S'
;ログファイル名の定義
Strconcat LOGDIR '\'
Strconcat LOGDIR NOW
Strconcat LOGDIR '_'
Strconcat LOGDIR HOSTNAME
Strconcat LOGDIR '.txt'
;SSH接続
CMD = IPADDR
Strconcat CMD ':22 /ssh /2 /auth=password /user='
Strconcat CMD USERNAME
Strconcat CMD ' /passwd='
Strconcat CMD PASSWORD
Connect CMD
;SSH接続に失敗したときの処理
If result <> 2 then
Messagebox 'It could not be connected.' 'Connection Error'
End
Endif
;ログメッセージのヘッダー
LOGMSG1 = 'HOSTNAME:'
Strconcat LOGMSG1 HOSTNAME
Strconcat LOGMSG1 '\n'
Strspecial LOGMSG1
LOGMSG2 = 'IPADDR:'
Strconcat LOGMSG2 IPADDR
Strconcat LOGMSG2 '\n'
Strspecial LOGMSG2
LOGMSG3 = 'TIMESTAMP:'
Strconcat LOGMSG3 NOW2
Strconcat LOGMSG3 '\n'
Strspecial LOGMSG3
;ログ取得開始
Logopen LOGDIR 0 0
Logwrite '=============================='#13#10
Logwrite LOGMSG1
Logwrite LOGMSG2
Logwrite LOGMSG3
Logwrite '=============================='#13#10
;Waitregex Prompt1 Prompt2 Prompt3 Prompt4
;Sendln ENABLE_PASSWORD
Waitregex Prompt1 Prompt2 Prompt3 Prompt4
;Teraterm ver: 4.105
;SSH接続をしてログを取得するマクロ
;踏み台サーバ無しで単独で動作する
;SSH接続先情報
HOSTNAME = 'server01'
IPADDR = '192.168.10.22'
USERNAME = 'root'
PASSWORD = 'P@ssw0rd'
;ENABLE_PASSWORD = 'cisco'
;プロンプトの定義
Prompt1 = '$'
Prompt2 = ':'
Prompt3 = '#'
Prompt4 = '>'
;ログフォルダの作成
Getdir LOGDIR
Strconcat LOGDIR '\'
Strconcat LOGDIR 'logs'
Foldercreate LOGDIR
;時刻取得
Getdate NOW '%Y%m%d%H%M%S'
Getdate NOW2 '%Y/%m/%d-%H:%M:%S'
;ログファイル名の定義
Strconcat LOGDIR '\'
Strconcat LOGDIR NOW
Strconcat LOGDIR '_'
Strconcat LOGDIR HOSTNAME
Strconcat LOGDIR '.txt'
;SSH接続
CMD = IPADDR
Strconcat CMD ':22 /ssh /2 /auth=password /user='
Strconcat CMD USERNAME
Strconcat CMD ' /passwd='
Strconcat CMD PASSWORD
Connect CMD
;SSH接続に失敗したときの処理
If result <> 2 then
Messagebox 'It could not be connected.' 'Connection Error'
End
Endif
;ログメッセージのヘッダー
LOGMSG1 = 'HOSTNAME:'
Strconcat LOGMSG1 HOSTNAME
Strconcat LOGMSG1 '\n'
Strspecial LOGMSG1
LOGMSG2 = 'IPADDR:'
Strconcat LOGMSG2 IPADDR
Strconcat LOGMSG2 '\n'
Strspecial LOGMSG2
LOGMSG3 = 'TIMESTAMP:'
Strconcat LOGMSG3 NOW2
Strconcat LOGMSG3 '\n'
Strspecial LOGMSG3
;ログ取得開始
Logopen LOGDIR 0 0
Logwrite '=============================='#13#10
Logwrite LOGMSG1
Logwrite LOGMSG2
Logwrite LOGMSG3
Logwrite '=============================='#13#10
;Waitregex Prompt1 Prompt2 Prompt3 Prompt4
;Sendln ENABLE_PASSWORD
Waitregex Prompt1 Prompt2 Prompt3 Prompt4
Author And Source
この問題について(Teratermマクロでssh接続を自動化する), 我々は、より多くの情報をここで見つけました https://qiita.com/quinaeng/items/75a4270f25dcaff0ad25著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .