- - PR -
SSHを利用したFTP接続で、アップロードしたファイルのサイズが減る
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2008-05-21 16:57
SSHを利用したFTP接続を使用しております。
ほとんどのファイルは正常(ファイルサイズで確認)にアップロードされるのですが、 なぜか一部のファイルのサイズが減ってしまいます。 このような現象が発生する原因は何が考えられますか? FTP接続の手順は、puttyでSSHのトンネルを作成し先に起動と接続しておきます。 その後FFFTPを起動し、ファイルをサーバにアップロードします。 (設定は、厳密に同じ環境ではありませんが、http://www.aconus.com/~oyaji/ssh/ssh_ftp.htm を参考にしました) ほとんどのファイルは正常(ファイルサイズで確認)にアップロードされるのですが、 なぜか一部のファイルのサイズが減ってしまいます。 他のファイルはこのような現象が発生しません。 ただ必ず減るわけでもなく正常にアップロードされる時もあります。 (5回に1回は正常かと思います) この一部のファイルとは、当初はPDFだけかと思っていたのですが、 アルファベットのXで埋めたテキストファイルでも現象が発生します。 また特別ファイルサイズも大きくありません。 (PDFは90,794バイト、テキストファイルは86,368バイトです) もっと大きなファイルでも正常にアップロードできます。 また差分をDIFFしてみたところ、必ず最後の数KBが欠落しています。 (欠落するサイズも必ずしも一定ではありませんが、同じことが多いです) サーバの設定に誤りがあるかと思い、SSHを使用しないよう設定を変更すると、 正常にアップロードできます。 ですが、SSHを使用すると再度現象が発生します。 ちなみにWinSCPによる接続では正常にアップロードできます。 環境は、 サーバ側(レンタルサーバです) ・OS:FreeBSD 4.7 ・proftpd 1.2.10a proftpd.confに追記した主な設定 MasqueradeAddress localhost PassivePorts 3000 3004 ・OpenSSH_4.7p1 ・inetd ・他 hosts.allowに追記した主な設定 proftpd:x.x.x.x/x.x.x.x:allow proftpd:ALL:deny (サーバのIPアドレスです。SSHを使用したFTP以外許可しないための設定) クライアント側 ・OS:WindowsXP、Windows2000 共に現象が発生 ・putty トンネルの設定 L1234 x.x.x.x:21 L3000 x.x.x.x:3000 L3001 x.x.x.x:3001 L3002 x.x.x.x:3002 L3003 x.x.x.x:3003 L3004 x.x.x.x:3004 ・FFFTP 接続するサーバの設定 サーバ:localhost ポート:1234 ユーザ:<FTP接続用のユーザ名> PASV:使用する ・LAN環境:光フレッツ、ADSLフレッツ、ケーブルテレビ系の接続 全てで現象が発生します。 (つまりルータは原因ではないと思われます) です。 もしサーバ環境のソフト(proftpd等)の不具合であればバージョンアップで対応したいのですが、 レンタルサーバゆえ簡単にはいかないのですが・・・ どなたかお教え下さい。 |
|
投稿日時: 2008-05-23 19:11
その後の調査で、発生するファイルサイズと、解決策が分かりました。
発生するファイルサイズが57,344バイトより大きい場合に発生する可能性が高いようです。 ファイルサイズが減少した場合、57,344バイトより小さくなることもありません。 また原因は、今回、トンネルを作成するアプリにputtyを使用していましたが、 こちらが原因だったようです。 最新バージョンでも発生します。 またTeraTermのSSH2対応版でも、まれですが、発生しました。 こちらはファイルサイズが57,344バイト付近であれば発生する可能性が高いようです。 (大きいサイズのファイルでは逆に発生しませんでした) OpenSSHのWindows版でコマンドラインからトンネルを作成するバッチファイルを 作成し、解決しました。 ただ、著名なソフトで利用者も多いと思われるputtyだけが原因とも思えないため、 他にも何か理由があるような気がしています。 念のため、別のレンタルサーバをトライアルとして使用したところ (こちらもOS等のバージョンはほとんど同じ)、こちらでも発生 しました。 以上、もし同じような現象が発生した方がいらっしゃいましたらご参考までに・・・ |
1