こんにちは!土門大貴(daikidomon)です。
サーバーにTeratermでログインして作業を行ことがありますが、どのサーバーにログインしていたのか混乱してミスが発生します。
疲れている時にこの状態になりますとヒヤリハットだけで済めばよいですが、最悪の場合サーバーを壊してしまうことがあります。
そんなサーバー操作時のミスを防ぐためのTeratermの自動ログインマクロを作成しましたので紹介します。
まだTeratermを入れていない人は以下の記事を参考にしてみてください。
自動ログインマクロのソースコード
以下、自動ログインマクロのソースコードになります。
SSH Version2接続ならば、
- IPアドレス or ホスト名
- 接続ユーザー
- パスワード
を変更すれば直ぐに利用できると思います。
;=====================================================================
; Connect informations
HOSTADDR = 'IP or hostname'
USERNAME = 'username'
PASSWORD = 'password'
PORT = '22'
; PROTOCOL
PROTOCOL = 'ssh'
; if ssh is selectecd, you select ssh version.
VERSION = '2'
; "AUTHTYPE" is authrizing type
; Default - password
; select - publickey
; - challenge
; - telnet
AUTHTYPE = 'password'
; Input initial file
; Do not use absolute file path!
INIFILE = 'TERATERM.INI'
; Login Messages
MESSAGE = 'This server is Production!!!!'
; Waiting remote host's prompt character
REMOTE_PROMPT = '$'
;=====================================================================
; change directory
getdir DIR
setdir DIR
strconcat DIR '\conf\'
strconcat DIR INIFILE
INIFILE_PATH = DIR
; Make Login Commands String.
COMMAND = HOSTADDR
strconcat COMMAND ':'
strconcat COMMAND PORT
strconcat COMMAND ' /'
strconcat COMMAND PROTOCOL
strconcat COMMAND ' /'
strconcat COMMAND VERSION
strconcat COMMAND ' /auth='
strconcat COMMAND AUTHTYPE
strconcat COMMAND ' /user='
strconcat COMMAND USERNAME
strconcat COMMAND ' /passwd='
strconcat COMMAND PASSWORD
strconcat COMMAND ' /F='
strconcat COMMAND INIFILE_PATH
; Try connect
connect COMMAND
; Make Message
ECHO = '# '
strconcat ECHO MESSAGE
; Show Message
wait REMOTE_PROMPT
sendln '#=========================================='
wait REMOTE_PROMPT
sendln ECHO
wait REMOTE_PROMPT
sendln '#=========================================='
end
注意点として、「TERATERM.INI」ファイルが無い場合は「33行目~37行目」まで「;」でコメントアウトしてください。
以下にGithubとして公開しておりますので是非利用してみてください。
Github:https://github.com/shimidai2100/teraterm-macros
自動ログインマクロの使い方
使い方は非常にシンプルで
- IPアドレス or ホスト名
- 接続ユーザー
- パスワード
- ポート番号
を指定します。するとSSH v2の接続は簡単に行えるようになります。
また26行目の「MESSAGE」の内容を変更すると、ログイン時に「○○サーバにログインしました!」のようなメッセージを表示できます。
「TERATERM.INI」ファイルの読み込みですが、confフォルダを作成してその中に「TERATERM.INI」を入れてあげれば実行可能です。
これからもヒヤリハットを防ぐためにマクロを回収していきますの定期的にGithubにアクセスしてみてください。