CORESERVERのSSH登録をするスクリプト

CORESERVER.JP:コアサーバー

レンタルサーバのCORESERVERのサーバにSSHでログインするためには、一度Webページの管理画面よりホスト登録をした後、接続を行う必要がある。登録しないと接続は全て弾かれる。
これは、CORESERVERのセキュリティ管理上の仕様のようだけど、ハッキリ言って面倒くさい。SFTP(Secure File Transfer Protocol)接続するとしても、Subversionのレポジトリとして利用するとしても、SSHを利用する場合は必ず登録しなくてはならない。

で、これを多少簡略化しようと思って作ったのが以下のWSHスクリプト。WSHスクリプトなので当然Windows専用。
拡張子をjsにしたテキストファイルにスクリプトをコピー&ペーストした後、UserName, PassWord, HostNameを変更すれば使える。

これは、Coreserver(XREAも?)のssh登録が面倒なので – WebProgを極めて居酒屋を開発するを参考にした。
やってる事は、IEを開いてページを直接操作しているだけ。スクリプト中の「ダイアログ定数」の中身はあまり気にしないように。自前でテンプレート化しているだけなので。

/*<ユーザー設定>***************************************************************/
var UserName = "name";
var PassWord = "pass";
var HostName = "s16.coreserver.jp";
/******************************************************************************/

/*<ダイアログ定数>*************************************************************/
// 表示ボタン
var MessageBoxButtons = {
"OK"               : 0,   // [OK]
"OKCancel"         : 1,   // [OK][キャンセル]
"AbortRetryIgnore" : 2,   // [中止][再試行][無視]
"YesNoCancel"      : 3,   // [はい][いいえ][キャンセル]
"YesNo"            : 4,   // [はい][いいえ]
"RetryCancel"      : 5    // [再試行][キャンセル]
}
// 表示アイコン
var MessageBoxIcon = {
"None"             : 0,   // なし
"Critical"         : 16,  // 警告メッセージアイコン [STOP]
"Question"         : 32,  // 問い合わせメッセージアイコン [?]
"Exclamation"      : 48,  // 注意メッセージアイコン [!]
"Information"      : 64   // 情報メッセージアイコン [i]
}
// フォーカスボタン
var MessageBoxDefaultButton = {
"Button1"          : 0,   // 1番目のボタンにフォーカス
"Button2"          : 256, // 2番目のボタンにフォーカス
"Button3"          : 512  // 3番目のボタンにフォーカス
}
// モーダル
var MessageBoxModal = {
"Application"      : 0,   // アプリケーションモーダル
"System"           : 4096 // システム モーダル
}
// 選択結果
var DialogResult = {
"OK"               : 1,   // [OK]
"Cancel"           : 2,   // [キャンセル]
"Abort"            : 3,   // [中止]
"Retry"            : 4,   // [再試行]
"Ignore"           : 5,   // [無視]
"Yes"              : 6,   // [はい]
"No"               : 7,   // [いいえ]
"Over"             : -1   // 時間経過
}
/******************************************************************************/

var Shell = new ActiveXObject("WScript.Shell");
var IE    = new ActiveXObject("InternetExplorer.Application");

try {
IE.Visible = false;
IE.Navigate("https://ss1.coressl.jp/" + HostName + "/jp/admin.cgi");
while (IE.Busy) { WScript.Sleep(100) };
IE.document.getElementsByName("id")[0].value = UserName;
IE.document.getElementsByName("pass")[0].value = PassWord;
IE.document.getElementsByName("explain")[0].click();
while (IE.Busy) { WScript.Sleep(100) };
IE.document.getElementsByName("telnet")[0].click();
while (IE.Busy) { WScript.Sleep(100) };
IE.document.getElementsByName("ssh2")[0].click();
while (IE.Busy) { WScript.Sleep(100) };

var result = Shell.Popup(
"登録が完了しました。\n接続可能となるまで5分間待機中…",
60*5,
WScript.ScriptName);
if (result == DialogResult.Over) {
WScript.Echo("5分経過しました。\n接続を確認してください。");
}
} catch(e) {
WScript.Echo(e.description);
} finally {
IE.Quit();
}

ちなみに、スクリプト実行後は5分ぐらい待たないと接続可能にならない。これは、CORESERVERの面倒な仕様のせい。何だかなぁ。


Posted by:

Posted At:

Modified At:

Category:

コメント

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください