コンテンツへスキップ

sftpでls時に結果が帰ってこない場合、クライアント側のMTU設定を疑う

2015年2月24日

FTPやFTPSの場合はパッシブモードにすればいいと思います。
ここの話はsftp(SSH File Transfer Protocol)を対象にしています。

QNAP TS-212にoptwareでopenssh(sshd)を導入。
設定も終わり、ssh(1)やsftp(1)がMacbook Airからできることを確認したが、
なぜか一部のマシンでls(1)時に結果が帰ってこない場合があった。

sshのオプション -vvv をつけて実行した場合、
Sending SSH2_FXP_READDIR I:10
のログ以降、固まる。Ctrl-Cを打っても”Interrupt”とだけ出る。
Filezillaでsftpを実行した場合、「ファイル一覧の取得に失敗しました」と赤文字で止まる。

 

どうやらsshを叩いたクライアント側のMTU設定が大きすぎる場合、lsの結果が帰ってこないようである。

Linuxであれば、
# ifconfig eth0 mtu 1460

Windowsであれば、ネットワークアダプタの設定からMTUを小さくすればよい。

Quote:http://serverfault.com/questions/528565/sftp-fails-on-listing-directories-with-large-number-of-files

問題の根本的な原因が見つからなかったのは、MacBook Airが無線LAN接続で、
MTUが1500以上に設定できなかったためである。(無線接続ではジャンボフレームの設定ができない)
せっかく高速化するためのジャンボフレームでつまずくと、非常にかなしい。

From → Linux, MacOSX, Windows

コメントする

コメントを残す