SSHを利用してノンパスワードログインする

別のサーバー同士でコマンドをやり取りするには
ssh username@servername commandname として実行できるが、このときにパスワードが要求されてしまう。
また、別のサーバーからファイルをセキュアに転送するには、
scp username@servername:(リモートサーバーのパス) (ローカルのパス) として実行できるが、このときにやはりパスワードが要求されてしまう。
これは自動化する上でかなり問題があり、expectという方法でパスワードを自動入力させる方法もあるが、これはクレバーではない。
sshにはノンパスワードログインという方法があり、接続元で発行した公開鍵を接続先のアカウントの.ssh/authorized_keys に保存することで実現できる。
設定方法でわかりやすかったサイトは、ぴえ~るの活動日記だけれども、デフォルトではauthorized_keys2ではなくauthorized_keysなので注意が必要。
また、多くのサーバーではこれだけでは接続できないので、接続先サーバーの/etc/ssh/sshd_configを編集(RSA公開鍵認証の有効化)しなければならない。わかりやすいサイトは、Gentoo Linuxで自宅サーバ であり、

#RSAAuthentication yes
#PubkeyAuthentication yes
#AuthorizedKeyFile .ssh/authorized_keys

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeyFile .ssh/authorized_keys

とすればよい。
僕の場合には、これをやってもうまくいかず、vオプションをつけてデバッグしてみたら
Offering public key: /home/hogehoge/.ssh/id_rsa
から先の認証手続きがうまくいっていないことがわかった。
いろいろ調べてみたら、おさかな学習帳にあるとおり接続先の/var/log/secureにエラーが出ていて、.ssh フォルダのパーミッションが正しくなかったために接続できなかったというオチだった。

Linux標準教科書

というものがオンラインでダウンロードできます(ユーザー登録の必要があります)
発行元はLPIC試験を実施しているLPI-JAPANというところです。
誤植は多少ありますが、Linuxを触っている私でもはじめて知るような内容が盛り込まれていて、一読する価値はあります。またLPIC試験を受験される方は必読になるんだと思います。
わかっているようでわかっていないLinux。奥が深いですね。

匿名転送メールサービス ~ Alias Mail

以前このブログで20分間だけ使える使い捨てメールアドレスがすぐに作成できる「使い捨てメール」というものを照会したが、余り使い勝手がよくなかったので、実際にMail_mimeDecodeを使って転送メールサービス「Alias Mail」を作ってみた。
まだmessage/rfc822などのcontent-typeが処理できないなどの問題はあるものの、大部分のメールは正しく転送されるように処理できていると思う。
転送期間は1日、3日、5日、1週間、1ヵ月から選択することができ、必要に応じて転送されたメールの本文ヘッダにあるリンクから転送期間を延長することができるようにしてあります。
もし良かったら使ってみてください。そしてご意見や改善点などありましたらコメント入れていただけますとうれしいです。
http://kataude.jp/alias_mail/

連想配列からキーを削除する方法

がわからなかったのでphp.netのリファレンスを調べるも見当たらない。
というわけで行き着いたのがhttp://wiki.poyo.jp/read/PHP/tips/array/array_unset_keys だったが、どうもしっくりこない。こんな方法でしかキーを削除することができなかったんだけ?と思ってしまった。
もう少し調べるとsuz-labに行き当たってやっぱりと。。。
いろんな人のコードをよく読むことはとても勉強になるなあぁと思った1日でした。

Google Suggestがデフォルトになった

今日?からGoogleの検索でキーワードに文字を入れると候補がずらずらと出てくるようになった。
実は新機能ではなく、2年以上前からGoogleラボにあった機能でようやくデフォルトになったみたい。
今日、西武池袋駅に行ったら駅の広告に大々的にGoogleの広告があった。なぜこのタイミングでの広告なのかはよくわからないが、アナログなメディアに自ら露出するのははじめて?なんではないだろうか?