メモ@2008/12/30
- あーありがち - Capistrano は思ったよりシンプルで思ったよりすごい
- CapistranoとPuppetを組合せて使いたい(どちらも使ったことないけど)
- http://groups.google.co.jp/group/lowlayer/files
- 暇な年末年始のお供に。
- sysctlによるカーネルのチューニング | OSDN Magazine
- どこか別の場所にもメモった気がするが、ここにもメモ。
- http://www.nanashinonozomi.com/tdiary/20050406.html
メモ@2008/12/29
- Ring
- これは便利ですね。abを使いこなせるようになりたい。
- たった3行加えるだけで、ページの読み込み時間を劇的に改善させる『class.compressor.php』 | IDEA*IDEA
- 年が明けたら、会社の適当なアプリで試してみよう。
CentOS5にopenssh-4.6p1をインストールする
なんで5系にしないのかと言われると返答に困るのですが、バージョンを上げすぎると互換性がない可能性があるためとでも言っておきましょうか。ここに書いてあるのは、私の環境での実行結果ですので一部必要ないものもあるかも知れません。
openssh-4.6にした理由は、Matchディレクティブが使えるからです。Matchディレクティブを使うと、特定条件下で設定を有効にしたり無効にしたりできるので大変便利です。たとえば、特定のIPからのアクセスであれば、rootログインを許可したりできるわけです(たとえばね)。
インストール
まずはopensshのSRPMを取得して、rebuildします。
# wget http://mirror.proserve.nl/repo/centos/SRPMS/openssh-4.6p1-lpk.src.rpm # rpmbuild --rebuild openssh-4.6p1-lpk.src.rpm
すると、依存関係で怒られるので、足りないパッケージをyumにてインストールして再チャレンジ。
# yum install gtk2-devel audit-libs-devel nss-devel libX11-devel pam-devel zlib-devel openldap-devel openssl-devel # rpmbuild --rebuild openssh-4.6p1-lpk.src.rpm
今度はうまくいきましたので、rpmをインストールします。
# cd /usr/src/redhat/RPMS/x86_64/ # rpm -Uvh openssh-[^d]*.rpm*1
これでインストールは完了。もともとが4.3p2だったので、設定ファイルに一部互換性がなくなっているため /etc/ssh/sshd_config を.rpmnewをまねて修正する。(修正しなくてもいい場合もある)
そして、起動スクリプトを少し修正する
107,108c107< #initlog -c "$SSHD $OPTIONS" && success || failure< $SSHD $OPTIONS && success || failure
- -
> initlog -c "$SSHD $OPTIONS" && success || failure
そして、最後にsshdを再起動して、インストールは完了です。
私はここで、なぜかsshdが再起動せずに泣くことになりましたが、、、なぜでしょう?物理的にマシンのところまで赴いて起動したら特に問題なく起動したので、設定ファイルに不備があるわけではないと思うのですが、理由の分かる方、教えてください。restartすると何回かに1回の確立で起動に失敗しているようです。OKとは出ているのに。。。condrestartのほうがいいのでしょうか(実はcondrestartを使ったことがないのです)。
[追記]
restartだと、stop処理の直後に間髪いれずにstart処理をするから、完全に停止する前に起動処理をして、起動したように見えてしまうのでしょうかね。
condrestartの場合は、stopとstartの間にsleepが入っているため、その危険は少なさそうです。今後はcondrestartを使うようにします。
Matchディレクティブを試す
デフォルトではパスワード認証を許可せず、あるIPからのアクセスに対してはパスワード認証を許可するようにするには、sshd_configに以下のものを追記する。AddressやHostにはワイルドカードが使用可能です。
PasswordAuthentication no ← グローバルな設定
(略)
Match Address 192.168.0.123
PasswordAuthentication yes ← Matchディレクティブにマッチするもの
*1:debuginfoをインストールしないため