スポンサーリンク
AWSのEC2にTeraTermマクロで自動ログインとログ取得する方法を備忘録として残していきます。
AWSのEC2は、EC2を起動している時間で料金が決定するので、1台のサーバで検証して、ダメだったら1台は稼働させたままにして、もう1台、作成・起動させると、2台分の起動時間になり、簡単に無料枠を超えてしますので、1台がダメだったら、EC2を終了させて、再度1台を作成・起動するようにしています。
そのため、IPがコロコロ変わるので、IPを変えるだけで簡単にログインできるようにしたいと思い、TeraTermマクロで自動ログインできるようにしました。
AWSのEC2にTeraTermマクロで自動ログイン
TeraTermを初期設定のままインストールすると、「C:\Program Files (x86)\teraterm」にTeraTermマクロのサンプルとして「ssh2login.ttl」があるので、サンプルを使用していきます。
「ssh2login.ttl」を任意の場所にコピーします。
私は、編集を簡単にできるように、デスクトップにコピーしました。
コピーした「ssh2login.ttl」をエディタで開きます。
※Windows標準のメモ帳だと、半角・全角のスペースが判別しにくかったり、余計な文字が入力されたりする可能性があるので、エディタで編集していきます。
私は、サクラエディタで編集しております。
;は、TeraTermマクロでは、コメントアウトとして扱われるようです。
「ssh2login.ttl」を、エディタで開くと丈夫に「;」が並んでいるのは、ファイルの説明、使用する環境、更新日、作成者などになると思うので、適切に編集していきます。
;
; File: aws_auto_login.ttl
; Description: auto login with SSH2 protocol
; Environment: generic
; Update: 2020/04/24
; Author: penguin
ユーザの設定
hostname = '192.168.xxx.xxx'
keyfile = 'C:\Users\ログインユーザー\Desktop\xxx.pem'
pass = ''
usernameには、ログインするユーザ名を指定しますが、EC2は初期設定では、「ec2-user」にユーザになるようです。
hostnameには、EC2のIPアドレスを指定します。
keyfileには、pemキーが格納してあるフォルダを指定します。
pass = ''には、パスワードは空エンターを指定します。
初期設定をコメントアウト
;strconcat msg username
;passwordbox msg 'Get password'
EC2へのログインには不要なのでコメントアウトしておきます。
ログインの設定
;strconcat msg ':22 /ssh /auth=password /user='
strconcat msg ':22 /ssh2 /auth=publickey /user='
strconcat msg username
;strconcat msg ' /passwd='
;strconcat msg inputstr
strconcat msg ' /keyfile='
strconcat msg keyfileconnect msg
ログ保存の設定
logopen 'ec2_%Y%m%d_%S.log' 1 1
changedirには、ログの出力先を指定します。基本的にはすぐ確認できるように、デスクトップに出力してます。
logopenには、ファイル名を「ec2_%Y%m%d_%S.log」としていますが、適時、修正して下さい。
「1 1」は、1つ目がバイナリフラグで、特殊文字などの出力の指定、2つ目が追記のフラグで、0にすると上書きしてしまうので、1にしてあります。
1にすると、ファイルが存在していても、追記になるようなので、最悪ログが消えてしまう、という事故は避けられるようにしておきます。
ただ、「ec2_%Y%m%d_%S」の箇所の「%S」で、ファイル名に秒数を指定しているので、ほぼ追記もなく、新しいログが作成されるようにしてあります。
ダブルクリック、もしくはアイコンをエンターして起動すると、ログインして、ログ取得まで自動的に実行してくれるマクロが完成しました。