2006/10/02

FTP over SSH PortFowarding

出来たと書いている人が多かったが、PASV を使ってもデータ転送は別ポートになるわけだし、
きちんと設定されたファイアウォールは抜けにくい、と思っていたが、
一応限界までやっている人がいたのでメモしておく。
http://web.kuicr.kyoto-u.ac.jp/~hattori/non-research/memo/too
ls/ftp_over_ssh.html

ftpd 側でpassiveモードで使うポート番号を制限する、ということと、passiveモード時にftpdが返すIPアドレスを変更しておく、ということがポイントです。
勉強になりました。

追記:
http://www.ssh.com/support/documentation/online/ssh/admi
nguide/32/Port_Forwarding.html

ssh communications のssh 実装なら
ssh2 -L ftp/x:ftpdserver:y username@sshdserver
と出来るらしい。
It works similarly to generic port forwarding, except that the FTP forwarding code monitors the forwarded FTP control channel and dynamically creates ne
w port forwardings for the data channels as they are requested.
だそうな。

http://www.labtam-inc.com/articles/ssh-d-forwrd.html
これも同じ系みたい。
と思ったけど、ここのが安かったので試してみたけど設定が見当たらなかった。

SOCKS を利用する方法もあるらしい。

追記の追記:ここに書いてあるとおりですが、
===============================
パッシブモードにおけるFTP
~中略~
ポートフォワーディングはアドレスlocalhostに対して開かれるので、パッシブモードが使われる場合、FTPクライアントはSSHクライアントと同じマシン上で動作する必要
があります。

アクティブモードにおける FTP
~中略~
ポートフォワーディングは SSHサーバマシン上のアドレス localhostに作られるため、アクティブモードが使われる場合、 FTPサーバはSSHサーバと同じマシン上で動作す
る必要があります。
===============================
だそうな。前述の英文のやつにも書いてありましたね。
やっぱり抜けにくいものですね。せめてssh communications 版 ssh にMacOSX クライアントがあればいいのに。

===============================
追記の追記の追記(2008/02/18)
google analytics を見ていたらftp over ssh portfowarding に検索してきてる人がいるみたいだったので・・。

その後、紆余曲折を経て、ssh communications のssh クライアントを購入して使用、ssh on winxp on VMWare に対してMacOSX のFTP Client から利用出来ています。
報告まで。