【サンプルファイル配布】Tera Termマクロを使って複数の接続先VPSを管理しよう!

Tera Termマクロ複数接続記事用アイキャッチ

Tera Termテラタームマクロ(TTL)はワンクリックでVPSブイピーエスに接続出来たり、接続後の定形業務を自動化したりと非常に便利な機能です。

便利さを更にあげるために、TTLを使ってTera Termで接続時に複数のVPSから任意のVPSに接続するマクロを作って行きましょう!

  • .ttlファイルで複数のVPSを管理する方法がわかる
  • 実際に.ttlファイルの作成ができる
  • サンプルコードのダウンロードができる

VPS接続管理を飛躍的に向上する複数VPS管理方法

通常Tera TermでVPSに接続する時は一々ホスト名を入力(もしくは過去の履歴から選択)し、ホストに応じたポート番号を指定、ユーザー名やパスワードや秘密鍵を入力して接続という方法が必要です。

それが面倒なので、TTLを使ってワンクリックないしはパスワード入力だけでOKなマクロを作成する方も多いと思います(下記の記事でそれを解説してあります)。

Tera Termからワンクリック接続!VPSサーバーへのマクロを作成して簡単に接続しよう
Tera TermテラタームはWindows環境下でVPSブイピーエスサーバーに接続する時の定番ソフトウェアです。 しかし毎回接続時にホスト名(IPアドレス)やポート番号、ユーザー名、鍵ファイルの場所を指定するのは正直面倒。 そこで...

しかし個人ブロガーであれば大体VPS接続先なんて1個ですが、Webデザインやプログラマーの方だとVPS接続先が複数になる事も。

僕は僕で既にVPSは3つほど利用しているので、個別にTTLファイルを作って接続したいVPS毎に実行するファイルが違うというのもちょっと面倒です。

という事で1つのTTLファイルを作成し、それを実行すると接続VPS一覧が表示され、どれに接続するか選べば後はマクロ側でやってくれるという.ttlファイルを作成して行きたいと思います。

複数接続先に対応した.ttlの作成

それでは実際に作成していきましょう!

前回同様サンプルファイルを作成したので、必要な方はダウンロードして是非ご利用下さい!

複数接続先に対応した.ttl(パスワード入力方式)のサンプルをダウンロードする

ソースコード

まずはソースコードをみていきましょう。

/*--------------------------------------------------------------------------
編集する必要があるのはstrdim以降の配列部分だけです。
ご自身のサーバーの設定によって編集して下さい。

userlist=VPSのLinuxユーザー名
hostlist=接続先のホスト名orIPアドレス
portlist=VPSのSSHポート(標準ポートの22から変更している場合変更して下さい)
keylist=VPSのSSH秘密鍵のファイルアドレス

デフォルトだと0~2までの3つ用意してあります。
VPSが2個の方は0~1の2つを利用し[2]を削除して使って下さい。
4つ以上接続先がある方はそれぞれ追加して[]内の数字を1ずつ大きくして使って下さい。

使い方の詳細はhttps://www.braveryk7.com/tera-term-choice-vps/を参照して下さい。

--------------------------------------------------------------------------*/

/*--- VPSユーザー名 ---*/
strdim userlist 3
userlist[0] ='example1user';
userlist[1] ='example2user';
userlist[2] ='example3user';

/*--- VPSホスト名orIPアドレス ---*/
strdim hostlist 3
hostlist[0] ='example1.com';
hostlist[1] ='example2.com';
hostlist[2] ='123.456.789.123';

/*--- SSHポート番号 ---*/
strdim portlist 3
portlist[0] ='22'
portlist[1] ='51826'
portlist[2] ='60480'

/*--- 秘密鍵への絶対パス ---*/
strdim keylist 3
keylist[0] ='C:\key\exmple1\id_rsa';
keylist[1] ='C:\key\exmple2\id_rsa_example2';
keylist[2] ='C:\key\123.456.789.123\id_rsa.ppk';

/*--- 設定ここまで ---*/

listbox '接続先のVPSサーバーを選択して下さい' '接続先VPSサーバー選択' hostlist
if result >= 0 then
    hostname = hostlist[result]
	hostport = portlist[result]
    username = userlist[result]
    keyfile  = keylist[result]
else
    end
endif

msg = 'ユーザー名:'
strconcat msg username
msgp = 'のパスワードを入力して下さい'
strconcat msg msgp
passwordbox msg hostname;

msg = hostname
strconcat msg ':';
strconcat msg hostport
strconcat msg '/ssh /auth=publickey /user='
strconcat msg username
strconcat msg ' /passwd='
strconcat msg inputstr
strconcat msg ' /keyfile='
strconcat msg keyfile

connect msg

end

解説

上記のソースコードで編集が必要なのは各種接続先VPSの情報を変数として入力するところです。

コメント部分にも説明書きをしていますが、userlist、hostlist、portlist、keyfile部分ですね。

strdimを使って配列にVPSの各情報を格納し、listbox関数で接続先のホスト名を一覧表示。

リストから選んだホスト名の配列番号と同じ配列番号を持つ要素を代入している、というイメージです。

.ttl実行

.ttl実行

実際に実行するとこんな感じでホスト名の一覧が表示されるので、どこに接続したいか選んでOKを押します。

それ以降は前回と全く同じで、パスワード入力を求められるのでパスワードを入力して実行すれば接続ができます。

もしパスワード入力不要で行いたい場合は、passlistを用意して同じように代入してあげればOK(僕はセキュリティ上オススメしません)。

ポート番号を個別に管理する方式

前回のttl記事ではホスト名にポート番号も一緒に格納していました(例:example.com:22)。

ただ、今回は実行して最初に表示する画面でホスト名一覧を表示しています。

そのままだとポート番号も一緒に表示してしまう事になり、例えば外出先のカフェなんかで実行すると背後からホスト名、ポート番号、場合によってはユーザー名もバレてしまう事になりリスクが有りすぎます。

という事で今回はホスト名とポート番号は個別に分けて管理する方式にしました。

これによりポート番号は画面上に一切表示されません。

もちろん標準の22番ポートから変更している場合、それに応じたポート番号を記載するようにして下さい。

ホスト名を表示したくない場合

個別にホスト名を表示させたくない場合、別途hostnamelistみたいな配列を作ってそこにリストに表示する名称を代入してあげればOKです。

例えばホスト1は本番用サーバー、ホスト2はテスト用サーバーだったりする場合はこういう名称をつけてあげると分かりやすいですし、管理するVPSのホスト名が誰かに見られたく無い場合も有効です。

この場合、listboxに表示する値はhostnamelistの配列を利用するので

listbox '接続先のVPSサーバーを選択して下さい' '接続先VPSサーバー選択' hostnamelist

のように最後の配列名を表示したいホスト名が格納されている配列に変えてあげればOKです。

接続先が4つ以上or2つ以下になったら

サンプルでは接続先を3つとしていますが、もし4つ以上に増えたらソースコードのuserlist、hostlist、portlist、keyfileそれぞれに[3]、[4]と増えた分だけ書き足してあげればOKです。

逆に接続先VPSが2つだけの場合、userlist、hostlist、portlist、keyfileそれぞれの[2]行を削除してしまえばOK。

それ以下の編集は不要です、配列を書き足すor削除するだけで使い回せるのでメンテナンス性も良いですね。

Tera Termで複数のVPSを利用する時は是非利用しよう!

Tera Termは非常に便利なコマンドラインツールですが、マクロ機能を利用する事で更に便利に使うことが出来ます。

マクロ機能は一度作ってしまえばサーバー側の仕様(ホスト名やユーザー名等)が変わらない限りずっと使えるものです。

マクロを使った自動化は便利なだけでなくヒューマンエラーを防止することにもなるので、是非利用して行きましょう!

ConoHa VPS+KUSANAGIで始めるWordPress超高速環境

ConoHa VPS まとめ記事用アイキャッチ

当記事はWordPressを超高速化できるWordPress専用仮想マシンKUSANAGIをConoHa VPSで初心者でも簡単に導入できるというコンセプトの1記事です。

手順通りに行えば誰でもKUSANAGI環境が実現できる!を目指して作成しました。

是非合わせてお読み下さい!

ConoHa VPS+KUSANAGIで始めるWordpress講座!初心者でもステップ形式で導入が可能です!KUSANAGI managerの使い方からコマンドまで全部解説
ConoHa VPSコノハ ブイピーエスにおけるWordpressワードプレス仮想マシン、KUSANAGIクサナギを1から導入するのは非常に大変な作業です。 しかしKUSANAGIクサナギ managerマネージャーというKUSANA...

コメント

タイトルとURLをコピーしました