サムネ出典URL:https://sozaino.site/f/archives/901
Tera Term マクロを使ってSSH接続を自動化する方法を紹介します。
Tera Termとは無料で使用できるSSH接続に使えるツールです。
Tera Term マクロを作成することで、Tera Termの操作を自動化できます。
ログインをTera Term マクロで行うと、下記のようなメリットがあります。
・公開鍵認証(以後、鍵認証)の場合に毎回鍵を選ぶ手間がなくなる。
・鍵が多くても、鍵の選択を間違うことがない。
・パスワード入力がないため、打ち間違いでアカウントがロックされる心配がない。
・長期間アクセスしていないサーバーでもパスワードを忘れる心配がない。
今回は鍵認証のサーバーが複数あり、ログインする際の鍵の選択が手間になっていたためTera Term マクロを使用しました。
マクロの作成方法は認証方法により違います。
下記で代表的な認証方法での作成方法を紹介します。
前提条件:Tera Termがインストールされていること。
;=====================================================================
;; 接続先IPアドレス
HOST = 'xxx.xxx.xxx.xxx'
;; ポート番号(SSH:22)
PORT='22'
;; ユーザ名
USERNAME = 'username'
;; キーファイル名
KEY_FILE = 'keyfile'
;; 設定ファイル(任意)
INI_FILE='TERATERM.INI'
;=====================================================================
;; マクロを配置したフォルダの絶対パス取得
getdir MACRO_DIR
;; マクロを配置したフォルダに秘密鍵のファイルを置く場合は下記のまま使用。
;; それ以外は適宜KEY_FILE_PATHの値を鍵ファイルのパスに変更する。
KEY_FILE_PATH=MACRO_DIR
;;KEY_FILE_PATH=''
;; 鍵ファイルパス生成
strconcat KEY_FILE_PATH '\'
strconcat KEY_FILE_PATH KEY_FILE
;; マクロを配置したフォルダに設定ファイルを置く場合は下記のまま使用。
;; それ以外は適宜INI_FILE_PATHの値を設定ファイルのパスに変更する。
INI_FILE_PATH=MACRO_DIR
;;INI_FILE_PATH=''
;; 設定ファイルパス生成(任意)
strconcat INI_FILE_PATH '\'
strconcat INI_FILE_PATH INI_FILE
;; 接続コマンド生成
COMMAND = HOST
strconcat COMMAND ':'
strconcat COMMAND PORT
strconcat COMMAND ' /ssh /2 /auth=publickey /user='
strconcat COMMAND USERNAME
strconcat COMMAND ' /keyfile='
strconcat COMMAND KEY_FILE_PATH
;; 設定ファイル読み込み(任意)
strconcat COMMAND ' /F='
strconcat COMMAND INI_FILE_PATH
;; 接続
connect COMMAND
end
;=====================================================================
; 接続情報
;; 接続先IPアドレス
HOST = 'xxx.xxx.xxx.xxx'
;; ポート番号(SSH:22)
PORT='22'
;; ユーザ名
USERNAME = 'username'
;; パスワード
PASSWORD = 'password'
;; 設定ファイル(任意)
INI_FILE='TERATERM.INI'
;=====================================================================
;; マクロを配置したフォルダの絶対パス取得
getdir MACRO_DIR
;; マクロを配置したフォルダに設定ファイルを置く場合は下記のまま使用。
;; それ以外は適宜INI_FILE_PATHの値を設定ファイルのパスに変更する。
INI_FILE_PATH=MACRO_DIR
;;INI_FILE_PATH=''
;; 設定ファイルパス生成(任意)
strconcat INI_FILE_PATH '\'
strconcat INI_FILE_PATH INI_FILE
;; 接続コマンド生成
COMMAND = HOST
strconcat COMMAND ':'
strconcat COMMAND PORT
strconcat COMMAND ' /ssh /2 /auth=password /user='
strconcat COMMAND USERNAME
strconcat COMMAND ' /passwd='
strconcat COMMAND PASSWORD
;; 設定ファイル読み込み(任意)
strconcat COMMAND ' /F='
strconcat COMMAND INI_FILE_PATH
;; 接続
connect COMMAND
end
鍵認証のパターンを動かしてみようと思います。 2の手順で作成し、鍵ファイルとINIファイルを同じフォルダに配置すると下記のような構成になっています。
フォルダに格納されている「.ttl」ファイルをダブルクリックで実行すると下記のようにログインが成功します。
このようにTera Term マクロを使用することで、鍵を探す手間がなくなったり、パスワードの打ち間違いをなくすことができます。
ログイン部分だけでも自動化することで、業務の効率化ができると思うので、興味を持った方はぜひ活用してみてください。