XREA の SSH登録 のスクリプト

レンタルサーバXREASSH を使う場合、事前に XREAの管理ページ
から ホスト情報登録が必要。登録すると、30日間 同一IPアドレスからの
接続が許可される。登録は上書きされるらしく、1つの IPアドレスからの
SSH接続しか許可されない。

毎回 XREAの管理ページから登録するのは面倒なので 自動化する。

Ruby の WWW::Mechanize を使えば簡単かもしれないが、XREArubygems
はインストールされてない。(XREArubygemsコンパイルは後日。
また、XREAruby のバージョンも1.8.5 と古いので、これも後でコンパイル)

wget で アクセス

xrea(coreserver) SSHホスト登録スクリプト - Kerosoft : Modus Operandi を読むと wget を使って登録している。
ページを巡ることなく一発で操作出来る状況なら wget に越したことはない。

  $ wget \
    -O - \
    --post-data="id=○○○&pass=○○○&remote_host=○○○&ssh2=on" \
    http://www.s○○.xrea.com/jp/admin.cgi

成功。

次に SSL対応されているので SSL経由でのアクセスを試みる。

SSL経由でアクセス

「サイト作成」の FAQ - はやわかり XREA & CORESERVER
XREASSL対応URI の規則が説明されている。

  $ wget \
    -O - \
    --post-data="id=○○○&pass=○○○&remote_host=○○○&ssh2=on" \
    https://ss2.xrea.com/www.s○○.xrea.com/jp/admin.cgi

失敗。

ss2.xrea.com に安全の確認をしないで接続するには、`--no-check-certificate' を使ってください。

とのこと。

  $ wget \
    -O - \
    --post-data="id=○○○&pass=○○○&remote_host=○○○&ssh2=on" \
    --no-check-certificate \
    https://ss2.xrea.com/www.s○○.xrea.com/jp/admin.cgi

たしかに登録できたが、これでは SSL経由をする意味が無い。


2007/04/18-06、wget、証明書の検証エラー - debian-etch に関するメモ(後、lennyへアップグレード)
を読むと、CAの認証局情報がインストールされていないと、証明書によっては
検証出来ないらしい。


https://ss2.xrea.com/www.s○○.xrea.com/jp/admin.cgi の証明書情報を
Firefox の鍵マークをクリックして読む。Equifax Secure Global eBusiness CA-1
が CA らしい。Vine 4.2 を使っているので /usr/share/ssl/cert.pem を読む
が Equifax Secure Global eBusiness CA-1 は含まれていない。

上記のサイトでは apt から ca-certificates を インストールしているが、
Vine には ca-certificatesパッケージはない。更に、XREA上から スクリプト
を動かしたいので、証明書を自分で保持し オプションで指定する方法を採る。

SSL サーバー証明書 | CPSとルート証明書 No_01 から Equifax Secure Global eBusiness CA-1 をダウンロード。

  $ wget \
    -O - \
    --post-data="id=○○○&pass=○○○&remote_host=○○○&ssh2=on" \
    --ca-certificate=Equifax_Secure_Global_eBusiness_CA-1.cer \
    https://ss2.xrea.com/www.s○○.xrea.com/jp/admin.cgi

成功。