XREA の SSH登録 のスクリプト
レンタルサーバー XREA で SSH を使う場合、事前に XREAの管理ページ
から ホスト情報登録が必要。登録すると、30日間 同一IPアドレスからの
接続が許可される。登録は上書きされるらしく、1つの IPアドレスからの
SSH接続しか許可されない。
毎回 XREAの管理ページから登録するのは面倒なので 自動化する。
Ruby の WWW::Mechanize を使えば簡単かもしれないが、XREA に rubygems
はインストールされてない。(XREA で rubygems のコンパイルは後日。
また、XREA の ruby のバージョンも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経由でアクセス
「サイト作成」の FAQ - はやわかり XREA & CORESERVER
に XREA の SSL対応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
成功。