を設定。職場は通常のssh接続を許可していないので、通常は外部からメールサーバーに直接接続することはできない。
ところが公開鍵暗号認証を用いたサーバーがひとつだけあり、そこへは外部からssh接続できるので、ssh portfowardingを利用してメールのやり取りができるように設定した。
(というか結構昔からできたはずだけどやってなかった。)
とりあえず基本的な手順。
- 公開鍵暗号を使ってssh接続
これは以前にも書いたので省略。結構慎重にやらないといけないのでがんばるしかない。状況によってはサーバー管理者にお願いしないとできないかも。
- メールソフトの設定
thunderbird でも sylpheedでも好きなものを使って設定をする。基本的にはメールサーバーの設定をそのまま利用する。変更するのは サーバー名とポート。
サーバー名はlocalhostで、ポートは空いていれば何でも良いと思うけど、とりあえず元のポート+1000としといた。(本当はちゃんと決めるべきだと思うけど...。)
- ポートフォワードオプションを設定してssh接続
ここがちょっとややこしい。まず基本的な書式としては
ssh -Lメールソフトのポート:メールサーバーのアドレス:メールサーバーのポート ユーザー名@ssh接続するサーバー
となる。結構ややこしい。大体複数のポートを転送することになるはずなので、ちょっと整理して具体的に書く。まず以下のようになっているとすると
メールソフト記述のimapサーバー名:localhosot (ポート番号1143:被ってなければ任意)
メールソフト記述のsmtpサーバー名:localhosot (ポート番号1025:被ってなければ任意)
ssh接続するサーバー名: ssh_server
ssh接続するユーザー名: user
imapメールサーバー:imap-server(ポート番号143:メールサーバーで指定されているもの)
smtpメールサーバー:smtp-server(ポート番号25:メールサーバーで指定されているもの)
オプションは
ssh -L1143:imap-server:143 -L1025:smtp-server:25 user@ssh_server
とする。うまく行けば特にwarning等も出ず接続できるはず。だめな場合は cannot listen to port とか言われるはず。
- 先ほどの設定でメールソフトを起動
うまくメールを読みに行ってくれるはず。だめな場合は設定を見直す。
あまり仕組みを理解しないままなので何となく説明だけど、どうやら以下のように接続しているらしい。
メールソフト-> localhost -> ssh portforwarding -> ssh-server -> smtp-server,imap-server
となっているらしい。う〜んややこしや。分かったら何となく分かったけど。