2010/06/03 (木)

2010-06-03:sshトンネル維持のための自動再接続に便利なautossh

データセンターに置いている自分用のサーバへ、手元の PC から ssh のトンネルを張って日常業務をしているのだけど、自分がいるところの回線が不安定だと頻繁にトンネルが切れてしまって、そのたびに手動で ssh コマンド叩くのがめんどくさい。
そんな状況のために、接続状態を自動検知して、切断時に勝手に再接続してくれるという便利なコマンドに autossh というものがある。。。ということを恥ずかしながらいままで知らなかった。

使い方は、これまで ssh と書いていたコマンドを autossh と4文字増やすだけ。簡単。
debian はパッケージがあって、BSD 方面も ports ですんなり入るようだ。しかし自分の手元のマシンは vine で、これ用のパッケージはないみたい。
じゃぁソースから野良ビルドでいいや、ということで、http://www.harding.motd.ca/autossh/ からリンクをたどって autossh-1.4b.tgz を落としてきて、/usr/local/src/ 以下で展開して、./configure; make; sudo make install した。
configure コマンド打つのって数年ぶりだなぁ。^^;

なんのエラーもなく無事にビルドでき、すんなり使えてる。わーい。
ちなみに自分が張ってるトンネルは

autossh XXX.XXX.XXX.XXX -Nf \
    -L 50025:localhost:25 -L 50143:localhost:143

こんなの。
ようするに、smtp と imap をデータセンター内のサーバに見に行くようにしてる。

comment

2010/05/26 (水)

2010-05-26:.elmo/cache/ お掃除

重たいメールを送ってきたお客さんがいて、ディスクがいっぱいでメールがとりこめない、と wanderlust に怒られる。
あれれ、と思って df したら確かに100%だ。
というか、du -sh ~/.elmo/ したら 4.9G という出力。おいーーー^^;

そうとう昔のメールから .elmo/cache/ 以下にキャッシュされていた感じ。
find で最終更新が2年以上前のファイルは消して、とりあえず2G台まで小さくした。

[waasuke@pollux:waasuke]% cd .elmo/cache/
[waasuke@pollux:cache]% find . -mtime +730 -print0 | xargs -0 rm -vrf
comment

2004/02/22 (日)

2004-02-22:SMTP のポートフォワード

日常の(開発者的)生活になにがいるかというと、メールの読み書き、cvs アクセス、web での調べもの、irc でのディスカッションの4つあたりが柱。
私はデータセンターに個人用のサーバを置いているので、ここに imap daemon と irc の bot を置いて、メールの読みと irc は それぞれ 143 と 6667 をssh の port forwarding でつないでいる。
cvs のアクセスももとから ssh 越しだぁね。web は 80 もしくは 443 で直つなぎ。
メールの送信はこれまで手元のマシンに SMTP を入れて localhost の 25番に接続して送っていた。
が、客先に半常駐な状態になって、内側のネットにつながせてもらうとなると、25番なんてぜんぜん通してくれない。22番はオッケーなんだけどね。
で、ふと考えれば SMTP も ssh 越しにデータセンターのサーバにつないじゃえばいいはず。
とりあえず手元の SMTP を殺して、

ssh -L 25:localhost:25 remotohost

でフォワードしようとしてみた。

25番は特権ポートだってば!

root権限がいるなぁ、ということで

sudo ssh -l waasuke -L 25:localhost:25 remotehost

なんてことをしてみる 🙂
うまくいっているな。

ここまで読んで、「なんで 25 なんだ、10025 とかでいいじゃん」という向きも多いと思う。いやまったくその通り。
普段、imput でメールを送信しているのだが、

~/.im/Config での SMTP server のポート指定方法がわからなかった

だけである。なまぬるい人種3だわ。(^^;
正解は

Smtpservers=localhost/10025

でした。スラッシュかぁ。。。

comment

2002/07/12 (金)

2002-07-12:IMAPの導入

今回の HDD のトラブルで、Fiva だけでメールを読んでいることを反省。というわけで自宅のマシンを IMAP サーバにするべく作業。
ポリシーとしては、これまで [プロバイダ → Fiva] とメールと取り込んでいたものを、[プロバイダ → 自宅IMAPサーバ] に変更する。自宅IMAP に Fiva なり大学の Mac なりで読みに行くようにする。
Debian woody ではいくつかの imapd がパッケージになっている。とりあえず courier-imap を採用。
ほかにプロバイダからメールを取り込むために fetchmail と procmail が必要。

sudo apt-get install courier-imap fetchmail procmail

fetchmail のインストールのときに「fetchmail を system-wide で使う?」とか聞かれる。さくっと No を選択。
courier では /etc/courier/userdb/ 以下にテキスト形式でパスワードファイルを作り、/etc/courier/userdb.dat に dbm 形式でデータベース化して認証に使っている。とりあえず以下のように自分用を設定。全部 root 権限で。
これに必要なコマンドは apt-get install courier-imap した際にあわせて入る courier-base パッケージに入っているみたい。

mkdir /etc/courier/userdb
chmod 700 /etc/courier/userdb
pw2userdb | grep waasuke >> /etc/courier/userdb/users
userdbpw -hmac-md5 | userdb users/waasuke 
set imap-hmac-md5pw
makeuserdb

/etc/courier/imapd の IMAP_CAPABILITY にAUTH=CRAM-MD5 AUTH=CRAM-SHA1 を追加。
自分のホームに Maildir を作成。これは自分の権限で。

maildirmake Maildir

~/.fetchmailrc に mda “/usr/bin/procmail” を入れておく。
あとはふつーに pop でメールを取り込む設定を。
~/.procmailrc はとりあえず MAILDIR=$HOME/Maildir/ があればいいかな。

comment