CORESERVER
目次†
SSH 接続のためのホスト登録を自動化する†
はじめに†
CORESERVER、安いから愛用してるんだけど、SSH でつなぐにはホスト情報の登録が必須。これは通常は Web の設定画面から行うものなんだけど、我が家は動的 IP 環境なので一回登録しても知らないうちに IP が変わっちゃうかもしれないし、ssh する前にいちいち登録しなおすのも面倒くさい。
そんなわけで、スクリプトでホスト情報の登録を自動化する。この需要はけっこうあって、探せばスクリプトそのものはいろいろな言語で転がっているから、拝借すればすぐ終わる。
仕組みは単純で、CORESERVER の管理用 CGI に、ユーザ名とパスワードと登録する IP アドレスを GET で投げるだけ。CGI には HTTPS でアクセスするので、GET のパラメタも暗号化される。CORESERVER 側の HTTPD のログには平文で残りそうな気はするけど、そこはまあ信じるしかない。
やりかた†
で、今回は python だからというだけの理由でこちらをお借りした。
コメントアウトされてる print 文のコメントを外せば結果画面の HTML が得られる。データベースに登録しましたみたいな文言が出てくれば成功。目視で結果を確認したいときなどに。ただし文字化けするので iconv にかけること。
- パイプで iconv に渡す。-f が入力文字コード、-t が出力文字コード。
python hoge.py | iconv -f CP932 -t utf8
一点だけ嵌ったのが、スクリプト内に書くパスワードは、Value Domain のログインパスワードではなく、管理画面から確認できる FTP 接続用のものであるというところ。
あとはこれを自宅サーバの cron に登録すれば終わり。
SSH 接続を公開鍵認証にする†
はじめに†
さて、SSH 接続に必要なホスト情報の登録を終えたとする。しかしいざ SSH でつなごうとすると、その時の認証で使うパスワードは例によって FTP のと同じやつ。システムで指定されるランダム文字列なので、覚えられないしいちいち入力するのはとても面倒。
そんなわけで、公開鍵認証の設定をする。
やりかた†
- クライアント側の設定
- 公開鍵をつくる
ssh-keygen # パスフレーズはあってもなくても。任意の文字列で良い
- 公開鍵をつくる
- 公開鍵の転送
- ~/.ssh/id_dsa.pub を scp とか sftp とかでサーバ側に送る
scp ~/.ssh/id_dsa.pub hoge@mxx.coreserver.jp:.
- ~/.ssh/id_dsa.pub を scp とか sftp とかでサーバ側に送る
- サーバ側の設定
- CORESERVER に SSH でログインする(パスワード認証でね)
- 鍵を登録する
mkdir ~/.ssh chmod 700 ~/.ssh cat ~/id_dsa.pub >> ~/.ssh/authorized_keys
これで終了。
今回は自宅サーバから CORESERVER への SSH 部分を公開鍵認証化。公開鍵をつくって CORESERVER に登録さえできれば、Windows ホストなども登録はできる。
CORESERVER 内のファイルを自宅サーバに自動バックアップする†
はじめに†
いや、べつにね、CORESERVER を信用してないというわけではないんですよ。
バックアップしたいファイルを tar.gz で固めて、自宅サーバに scp で送りつけることを考える。ついでにメールも送るようにする。
やりかた†
- CORESERVER から自宅サーバに公開鍵認証でパスフレーズなしでログインできるようにする
- 上の手順のサーバとクライアントの関係を逆にしたのをやれば良い
- てきとうにスクリプトをつくる
#!/bin/sh spath=/virtual/hoge/public_html sname=wiki.kurokobo.com tfile=$sname.$(date '+%Y%m%d-%H%M%S').tar.gz tsite=hoge@fuga.jp tpath=./Backup/coreserver addr=hoge@gmail.com cd $spath tar zcf $tfile $sname scp $tfile $tsite:$tpath 1>/dev/null 2>&1 echo "$(date) : $tfile" | mail $addr -s "Message from Coreserver: Auto Backup Script" rm -rf $tfile
- 上は ~/public_html/wiki.kurokobo.com のバックアップの例
- cron で回す
0 4 * * * /bin/sh /virtual/hoge/cron/backup.sh 1>/dev/null 2>&1
Last-modified: 2011-10-17 (月) 20:11:10