【Cisco】SSHログインマクロ

Cisco機器に対し、SSHログインするTeraTermマクロを作成したので、ご紹介します。
また、複数台の機器に対し、連続でログ取得をするTeraTermマクロについてはこちらを参照のこと。
※今回紹介するマクロを改良すれば、YamahaやJuniper、Alaxalaなど、さまざまなNW機器ベンダ製品にも対応可能です。是非ご参考に。

動作としては、

Cisco機器(1台)へSSHログイン→特権モードへ移行→ログ保存開始→terminal length 0を投入

になります。

ぜひご参考に。

01_SSHログイン.ttl

;; SSH接続用Macro

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;    ログイン用パラメータ         ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

    hostname = 'RT01'
    username = 'cisco'
    ipaddr = '192.168.1.1'
    sshpasswd = 'cisco'
    enablepasswd = 'cisco'


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;    ログ用パラメータ            ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

    portnum = '22'
    logname = '01_SSH_login_'
    logdir = 'log'


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;    ログ保存用ディレクトリ作成    ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

    getdir CRNTDIR
    cmd = 'cmd /c mkdir '
    Strconcat cmd '"'
    Strconcat cmd CRNTDIR
    Strconcat cmd '¥'
    Strconcat cmd logdir
    Strconcat cmd '"'
    exec cmd "HIDE"


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;    SSHログイン                ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

    msg = ipaddr
    Strconcat msg ':portnum /ssh /auth=password /user='
    Strconcat msg username
    Strconcat msg ' /passwd='
    Strconcat msg sshpasswd
    Strconcat msg inputstr

    Connect msg

    If result <> 2 then
        Strconcat logfile ipaddr
        Strconcat logfile '.error'
        Filecreate ERRORFILE logfile
        Fileclose ERRORFILE
        Closett
        Return
    Endif


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;    ログファイル用現在時刻取得   ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

    Getdate Str_Getdate
    Strcopy Str_Getdate 1 4 Str_Year
    Strcopy Str_Getdate 6 2 Str_Mon
    Strcopy Str_Getdate 9 2 Str_Day

    Gettime Str_Gettime
    Strcopy Str_Gettime 1 2 Str_Hour
    Strcopy Str_Gettime 4 2 Str_Min
    Strcopy Str_Gettime 7 2 Str_Sec

    Strconcat nowtime '_'
    Strconcat nowtime Str_Year
    Strconcat nowtime Str_Mon
    Strconcat nowtime Str_Day
    Strconcat nowtime Str_Hour
    Strconcat nowtime Str_Min
    Strconcat nowtime Str_Sec
    Strconcat nowtime '.txt'


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;    ログ保存開始               ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

    Strconcat logname hostname
    Strconcat logname nowtime

    getdir FILEPATH
    Strconcat FILEPATH '¥'
    Strconcat FILEPATH logdir
    Changedir FILEPATH

    Strconcat FILEPATH '¥'
    Strconcat FILEPATH logname
    Logopen FILEPATH 1 1

    Logwrite '****************************************'#13#10
    Logwrite 'Hostname: '
    Logwrite hostname
    Logwrite #13#10
    Logwrite 'IP Address: '
    Logwrite ipaddr
    Logwrite #13#10
    Logwrite 'Execution time: '
    Str_Get = Str_Getdate
    Strconcat Str_Get ' '
    Strconcat Str_Get Str_Gettime
    Logwrite Str_Get
    Logwrite #13#10
    Logwrite '****************************************'#13#10
    Logwrite #13#10
    Logwrite #13#10
    Sendln ''


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;    [Cisco]特権モードへ移行      ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

    Wait '#' ']$' ']#' '>'
    If result = 4 then
        Sendln 'enable'
        Wait 'assword:'
        Sendln enablepasswd
        Wait '#'
        Sendln 'terminal length 0'
        Wait '#'
    Endif

「【Cisco】SSHログインマクロ」への1件のフィードバック

コメントを残す

メールアドレスが公開されることはありません。