さくらインターネットのレンタルサーバで、FTP接続してファイルの転送を行っていたら、作業中なのに勝手に接続が切れたり、転送中に突然接続が切れる現象が起こります。この問題の解決方法を自分用に書いておきます。まあすぐ忘れるし(笑)
先に結論(分かっている人向け)
結論としては:
- ダミーコマンドを送る設定をする
- FTP接続ではなくSFTPまたはSCP接続を使う
です。以下、詳細です。
症状1:通信してない(作業してない)ときに勝手に切れる
サーバリソースの保護・セキュリティ対策・ネットワークの効率的な運用など、色々な背景があって、FTPサーバには接続が一定時間無通信状態になった場合に自動的に接続を切断する機能がついています。要するに何も通信が無いと自動的に通信が切断されるサーバが多いです。
この種類の通信の切断を防ぐには、一定時間ごとにダミーコマンドを送ることで防止できます。
WinSCPの設定例
新しいセッション→(該当の接続をクリック)
→「編集」ボタンをクリック→「設定…」をクリック
→「接続」項目を選択→「ダミーコマンドを送信する」にチェック
→「送信間隔」を「15秒」にする

送信間隔は、あまり短くしても意味が無いし、サーバやネットワーク回線の負荷が増えるだけなので15~30秒くらいでいいと思います。
症状2:通信してる時にプチプチ切れる
通信中に切れる問題も同様で、主にセキュリティ対策のために長いこと通信を行っていると自動で切断される場合があります。(サーバに侵入されてファイルを全消ししてるとか、サイトを全部書き換えてるとかそういうやつです。)
この種類の通信の切断を防ぐには、より高いセキュリティ確保がされている通信方式、具体的にはFTPではなくSCPかSFTPを使うことで防止できます。
WinSCPの設定例
新しいセッション→(該当の接続をクリック)
→「編集」ボタンをクリック
→「転送プロトコル」を「SFTP」または「SCP」にする(ポート番号も自動で変わる)

パスワードとかが同じであれば、ポートも自動で変えてくれますし、個人的には、SFTPがいいと思います。
その他詳しい情報
FFTP・WinSCPの設定については、さくらインターネットに公式ヘルプがあるので参考になると思います。
FFFTPを利用したい
https://help.sakura.ad.jp/rs/2220/
WinSCPを利用したい
https://help.sakura.ad.jp/rs/2789/
まあ今時だったらAIに聞いても良いかもしれないし。
あとがき
最近作ったサイトだとSFTPで接続するんですが、情報が古くて、「当時はFTPだったけどその後SFTPにも対応したよ~」ってなってるレンタルサーバも多いので気を付けたいと思います。
