内容
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
これで
最初の接続がほんのすこ~~~~~~~~~~~~しだけ楽になった気がします。