LoginSignup
1
4

More than 3 years have passed since last update.

初期EC2のTeratermログインマクロ

Posted at

内容

AWSで作成したサーバへログインするTeratermマクロ(コピペで可能)

何故作ったか

AWSでサーバ作成した後に初めてSSH接続を行う際
IPアドレス⇒ユーザ(ec2-user...)⇒キーペア(鍵)選択⇒接続
上記をしているんですが、面倒になってきたので作りました。
コピペ用なので詳しい事は調べて頂くか、よければ以下を見てみてください。
Teratermマクロ初心者入門

前提条件

・SSH接続可能なサーバが存在していること
・Teratermマクロとキーペア(鍵)が同ディレクトリ配下に存在していること

ユーザ情報

初期状態のユーザ情報を記載しておきます。
Linux インスタンスでのユーザーアカウントの管理

AMI ユーザ名 
Amazon Linux 2 ec2-user
Amazon Linux ec2-user
CentOS centos
Debian   admin,root
Fedora ec2-user,fedora
RHEL   admin,root
SUSE ec2-user,root
Ubuntu ubuntu

IP固定してないEC2用(毎回IPだけ入力する)

;========================================================== 
; <マクロ名>
; <用途>
;========================================================== 
; ディレクトリ取得
getdir DIR

; IPアドレスの入力
inputbox 'IPアドレスの入力' '接続情報'

; 鍵ファイルを指定
KEY = '使用するキーペア(鍵)のファイル名'
makepath KEYFILE DIR KEY

; ログディレクトリの指定
LOGSDIR = DIR
strconcat LOGSDIR '\LOGS\'

; ログディレクトリの作成
foldersearch LOGSDIR
if result = 0 then
foldercreate LOGSDIR
endif

; 接続情報
HOSTNAME = '<任意のホスト名>'
HOSTADDR = inputstr
USERNAME = '<接続ユーザ>'

; 接続オプション
COMMAND = HOSTADDR
strconcat COMMAND ':22 /ssh /2 /auth=publickey /user='
strconcat COMMAND USERNAME
strconcat COMMAND ' /keyfile='
strconcat COMMAND KEYFILE

; 接続
connect COMMAND

; ログファイル情報作成
getdate LOGDATE '%Y%m%d_%H%M%S'
strconcat LOGNAME LOGSDIR
strconcat LOGNAME HOSTNAME
strconcat LOGNAME '_'
strconcat LOGNAME LOGDATE
strconcat LOGNAME '.log'

; ログファイル作成
logopen LOGNAME 0 0

end

IP固定しているEC2用

;========================================================== 
; <マクロ名>
; <用途>
;========================================================== 
; ディレクトリ取得
getdir DIR

; 鍵ファイルを指定
KEY = '使用するキーペア(鍵)のファイル名'
makepath KEYFILE DIR KEY

; ログディレクトリの指定
LOGSDIR = DIR
strconcat LOGSDIR '\LOGS\'

; ログディレクトリの作成
foldersearch LOGSDIR
if result = 0 then
foldercreate LOGSDIR
endif

; 接続情報
HOSTNAME = '<任意のホスト名>'
HOSTADDR = '<接続先IPアドレス>'
USERNAME = '<接続ユーザ>'

; 接続オプション
COMMAND = HOSTADDR
strconcat COMMAND ':22 /ssh /2 /auth=publickey /user='
strconcat COMMAND USERNAME
strconcat COMMAND ' /keyfile='
strconcat COMMAND KEYFILE

; 接続
connect COMMAND

; ログファイル情報作成
getdate LOGDATE '%Y%m%d_%H%M%S'
strconcat LOGNAME LOGSDIR
strconcat LOGNAME HOSTNAME
strconcat LOGNAME '_'
strconcat LOGNAME LOGDATE
strconcat LOGNAME '.log'

; ログファイル作成
logopen LOGNAME 0 0

end

〇ユーザにPWが設定されていて入力する必要がある場合は、
・;接続オプションのstrconcat COMMAND USERNAMEの下に以下を追記
strconcat COMMAND ' /passwd='
strconcat COMMAND PASSWORD

〇認証方式が鍵ではなくPWの場合は以下を修正してください。
・; 鍵ファイルを指定を削除
・; 接続オプションの以下を削除
strconcat COMMAND ' /keyfile='
strconcat COMMAND KEYFILE
・; 接続オプションの/auth=publickeyを/auth=passwordへ変更
・;接続オプションのstrconcat COMMAND USERNAMEの下に以下を追記
strconcat COMMAND ' /passwd='
strconcat COMMAND PASSWORD

これで

最初の接続がほんのすこ~~~~~~~~~~~~しだけ楽になった気がします。

1
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
4