コメントスパム対策のため、特定メールアドレスの入った突っ込みをお断りしています。
ここを参考にいろいろと。
簡単にまとめると、
1)クライアント側で鍵を作成(% ssh-keygen -t rsa)
2)公開鍵(id_rsa.pub)をサーバに持っていき、そこの $HOME/.ssh/authorized_key に加える
という手順です。鍵作成時にパスフレーズを入力しなければ、ログイン時もパスフレーズ不要となります。
ただ、やはりパスフレーズ無しは盗難のとき怖いわけで、トンネル専用のアカウントをサーバに作りました。
1)サーバ側でパスワード欄無し・シェル無しのトンネル用アカウントを作成
2)クライアント側で鍵を作成
3)公開鍵をサーバに持っていき、トンネル用アカウントの $HOME/.ssh/authorized_key に加える
という手順です。こうすればクライアントPCを盗まれても自宅サーバにはログイン出来ません。ただサーバがトンネルとして踏み台のように使われる危険性はありますので、クライアントPCが盗まれたら 別のクライアントからサーバに入って authorized_key を消す必要があります。
パスフレーズ有りの実アカウントとトンネル用アカウントを使い分けることも出来ます。ログイン時に使用する秘密鍵を -i オプションで指定します。
2006-03-06 の日記にも書いている内容ですが、秘密鍵指定や圧縮、複数トンネルなど応用してみました。
/opt/QtPalmtop/bin/ssh -i /home/zaurus/.ssh/id_rsa.tunnel -2 -C -f -N driller@myserver.home.ne.jp \
-L 8080:localhost:8080 -L 16667:irc.kyoto.wide.ad.jp:6667 \
-L 10110:mail.isp.ne.jp:110 -L 10025:mail.isp.ne.jp:25
myserver.home.ne.jp が自宅サーバ、driller がトンネル用アカウントです。
指定しているトンネルは都合4本で、
1)zaurus のポート 8080 → 自宅サーバ自身で動作するプロキシ
2)zaurus のポート 16667 → irc サーバ
3)zaurus のポート 10110 → メールサーバのPOP3ポート
4)zaurus のポート 10025 → メールサーバのSMTPポート
となります。
2006-02-22の日記(stone による proxy通過トンネル)でも出てきたこの人ですが、トンネル開通させすぎですよ。すげえ。
Tera Term Professional (ver 4.25) ではシェル抜きにトンネルだけを掘ることが出来ません(シェルが起動しなければと強制的にターミナルが落ちるため)。
よって PuTTY に乗り換えました。設定で「接続」-「SSH」の「プロトコルオプション」部分を
■疑似端末を確保しない ■シェルやコマンドを開始しない ■圧縮を有効にする
のように変更すればOKです(画像)。