2009/05/10(Sun)xrea(coreserver) SSHホスト登録スクリプト

2009/05/10 5:03 NetService
無料の*1サーバーレンタルサービスとしては珍しくSSHをサービスしているxreaにアカウントを持っているが、ftpと違ってsshで入るにはホスト登録が必要らしい。
多分不用意なサーバーアタックを防ぐ措置であると思われるが、いちいちブラウザからアクセスするのが面倒なので、スクリプトを作ってみた。

普段ならPerlで書くところだが、今回は短く書けそう&書き方に慣れるためという理由でシェルスクリプトで書いてみた。
# Bシェル向けに書いてあるので、Cシェルをお使いの方は代入部分2か所に"set"を補う必要があるかな…

#!/bin/sh
# このスクリプトはUTF-8で保存してください
echo "SSH Registration"
MYIP=`wget -q -O - http://dyn.value-domain.com/cgi-bin/dyn.fcg?ip`
echo "My IP: $MYIP"
RET=`wget -q -O - --post-data="id=★★★&pass=★★★&remote_host=$MYIP&ssh2=SSH登録" https://ss1.xrea.com/www.s★.xrea.com/jp/admin.cgi | iconv -f cp932 -t utf-8`
if [ `echo "$RET" | egrep "データベースに追加しました"` ] ; then
    echo "Registration Successful."
else
    echo "Registation Failed."
fi

自分のIDとパス、ホスト名を★の部分に補えば使えます。
ただ、日本語で応答を判定しているので、スクリプトはUTF-8で保存することをお忘れ無く。他のエンコードの場合は、iconvの引数を変えてやる必要があります。

ちなみにcoreserverの場合は、POSTを投げる先を"https://ss1.coressl.jp/www.s★.coreserver.jp/jp/admin.cgi"とすればよろし。

*1 : 無料なのはxreaだけでcoreserverは有償だが