パスワードなしでSSHログイン

2011/04/08 | その他

対象ディレクトリのバックアップを作成し、コマンド一発でリモートサーバに転送する方法を書いたが、この方法だとパスワードを聞かれてしまう。バックアップは定期的かつ自動的に実行されて欲しいのだが、この方法では都度パスワードを入力しなくてはいけないので、自動的という訳にはいかない。パスワードの自動入力にはexpectを使う方法もあるが、そもそも入力しなくてもいいように設定してしまえば楽チンである。

まず事前にアカウントを作成しておくことにする。わかりやすいように、サーバ側(アクセスされる側・バックアップ先)、クライアント側(アクセスする側・バックアップ元)ともにbackupというユーザを作成することにする。当然クライアント側のバックアップしたいファイル群にはbackupの読み取り権限が必要になるので適宜設定しておく。

まずクライアント側で以下のコマンドを実行する。

ssh-keygen -t dsa

秘密鍵・公開鍵を作成する。この時、鍵の置き場所や鍵のパスフレーズを聞かれるが、何も入力せずに改行。でないと、サーバへのアクセス時にパスワードこそ聞かれないけれど、鍵に対するパスフレーズを聞かれることになってしまう(本末転倒)。

するとbackupのホームディレクトリに.ssh/というディレクトリが作成され、その中に以下のファイルが作成される

  • id_dsa(秘密鍵)
  • id_dsa.pub(公開鍵)

作ったディレクトリやファイルは誰にも触られないように、アクセス権限を変更しておく。

次に、公開鍵をサーバ側に転送する(何らかのセキュアな方法で)。サーバ側にもbackupというユーザを作成しておいた。backupのホームディレクトリに.ssh/というディレクトリを作成しておく。そして.ssh/authorized_keys2というファイルを作成し、先程の公開鍵の内容をコピペしておく。そして同様にアクセス権限を変更しておく。

以上で設定は終了だ。

いったんクライアント側からサーバ側にsshで接続してみる。最初はknown_hostsの登録がないので、登録するかどうか聞かれるのだが、以後はいきなりログイン出来るようになる。簡単なんだけど、ある意味怖いよね・・・。ま、しょうがないんだけど。

リモートサーバにバックアップ

2011/04/07 | その他

コマンド一発で、対象ディレクトリを圧縮して、バックアップサーバに暗号化転送する方法。

(cd /path/target && tar cf – ./data | gzip -9 ) | ssh -p 22 user@example.com “(cd /path/backup && cat > dump.tar.gz)”

このコマンドを実行すると相手サーバのパスワードを聞かれるので、それを入力すれば即実行。超便利。

秘密鍵を使えば、パスワードも聞かれなくなる。

10万件のデータ挿入

2011/04/07 | CLI, SQLite

PHPからSQLiteに10万件のデータを挿入してみた。CLI版で。pdo関数を使って。単に1件ずつINSERT文で挿入。データ自体は数値データ2つとテキストデータ(2文字)。サーバはVPS、OSはCentOS。

2時間弱かかった。結構かかるな。メモリはそんなに使わないみたい。

プログラムに頑張って動いてもらう

2011/04/06 | その他

VPS上でバッチ処理をしている。これがえらく時間がかかる処理で、2時間ほどかかる。サーバの動作状況を見ると、プログラムが休み休み動いているのがよくわかる。できればこのプログラムには頑張って動いてもらいたい。

ということで、nice値を変更してやることにした。nice値とはプログラム実行の優先度のようなものと思えばよくて、値が小さいほど優先度が高くなる。nice値は-20から19までの値を取ることが出来る。nice値に関するコマンドをメモしておく。

nice -n -10 コマンド
コマンドをnice値-10で起動する。

renice -5 12345
プロセス番号12345のnice値を-5に変更する。

これで少しプログラムが早く動いてくれているような気がする・・・。

結局DTIを借りてみた

VPSはどれを借りるのか悩んだ結果、とりあえず安価なDTIを借りてみることにした。


DTI ServersMan VPS Standard
保証メモリ512MB/最大1.5GB
HDD30GB
月額980円
初期0円
2ヶ月無料

とりあえずお試し利用で2ヶ月使えて、初期費用が無料、月額費用も980円と安価な点に魅力を感じた。他にここを選んだ点として、OSが64ビット対応(なんとなく気分的にいつも64ビットを選んでいる)、OSの初期化が可能(最近のVPSなら当たり前っぽいけど)、iptablesが使える(そしてウェブの管理画面からiptablesの初期化も出来る)、がある。そして上位プランにアップグレード可能なこと。

噂によると、どうもこのVPSはWebArenaと同等のソフトウェアで構成されているらしい。だとすればコストパフォーマンスはすばらしく高いことになる。

申し込む際にスペックを選ぶのだが、その際管理ツールの有無を聞かれたのでやむなく32ビット版を選択(64ビット版では管理ツールがない)。管理ツールはBlue Onyx(懐かしい)。しかし久しぶりに使ったせいか、使い方が全くわからない。っていうか使いにくい。PleskやcPanelと比較すると使いづらさは否めない。30分ほど操作してみて、まぁやむを得ないか、と思いつつFTP設定してファイルをアップロードしようと思ったけどアップロードできない。ご丁寧にマニュアルを読み返したけど、それでもできない。

結局1時間ほどでOS初期化を決定。64ビット版CentOSにして、環境設定も最初から自分でやることにした。本来このVPSではマルチドメインでいろいろサイトを運営・管理したい、という訳ではなく管理ツールも必要ないので躊躇無し。OS入れ替え後、ソフトのインストールをした。

さて、これから1ヶ月の間に使い倒して、評価していくことにする。


守谷市(まちの情報ポータル) 無料アンケートレンタルjpForm.net