どちらも「安全なFTP転送」として紹介されることが多く、どちらの名前にも「S」が含まれています。しかし、SFTPとFTPSはまったく異なる技術です。どちらを使うかは、多くの場合サーバー側が決めることですが、選択肢がある場合は違いを知っておくと役立ちます。

名前の由来

SFTPはSSH File Transfer Protocolの略で、FTPとは無関係の独立したプロトコルです。SSHの仕組みの上に構築されており、ファイル転送だけでなく、ファイル管理(一覧表示、削除、リネームなど)も1本の暗号化された接続で行えます。

FTPSはFTP over SSLの略で、従来のFTPプロトコルにTLS暗号化を追加したものです。既存のFTPインフラを暗号化で強化する形で、FTPの拡張版として機能します。

技術的な違い

項目 SFTP FTPS
ベース技術 SSHサブシステム FTP + TLS/SSL
標準ポート 22 990(暗黙)または21(明示)
接続数 1本(コマンドとデータを共用) 2本(制御用 + データ用)
ファイアウォール 通過しやすい(ポート22のみ) パッシブモード設定が必要な場合あり
認証方式 パスワード または SSHキー パスワード または クライアント証明書
暗号化 常に暗号化 明示モードは任意交渉の場合あり

FTPSの2つのモード

FTPSには「暗黙モード(Implicit)」と「明示モード(Explicit)」の2種類があります。

暗黙モード(FTPS Implicit)

接続した瞬間から暗号化が始まります。標準ポートは990番。古い規格ですが、常に暗号化されるため動作が明確です。

明示モード(FTPS Explicit / FTPES)

最初はFTPとして接続し、クライアントが AUTH TLS コマンドを送ることで暗号化を要求します。ポート21番を使用。現代的な標準で、サーバーの設定によっては暗号化なしの接続も許可される点に注意が必要です。

ポイント:FTPSサーバーに接続する際は、暗黙モードか明示モードかを確認しましょう。サーバーの管理者やドキュメントで分かります。FTPullとFTPushはどちらのモードにも対応しています。

どちらを選ぶべきか

選択肢がある場合は、SFTPが一般的におすすめです。理由はシンプルです:

ただし、サーバー側がFTPSしか対応していない場合(特にホスティング会社やレガシーシステム)は、FTPSを使えば問題ありません。どちらも適切に設定されていれば十分なセキュリティを確保できます。

FTPullとFTPushでの対応

FTPullとFTPushは、FTP、SFTP、FTPS(暗黙・明示両モード)のすべてに対応しています。接続設定でプロトコルを選ぶだけで、あとは自動で処理されます。SSHキー認証にも対応しているため、鍵ファイルを指定するだけでパスワードなしのSFTP接続が可能です。