FTP、SFTP、FTPS は同じものの三つの味付けに見えますし、名前がその誤解をせっせと後押ししています。ところが実際には、ひとつは 1970 年代のプロトコルでパスワードを平文のまま送り、ひとつは同じプロトコルを TLS で包んだもので、ひとつは文字だけ借りたまったく別のプロトコルです。ホスティングの管理画面や NAS の設定画面でどれかを選べと言われたとき、その選択が本当は何を意味するのかを整理します。
手短に言えば: サーバーが対応しているなら SFTP を使ってください。すべてを暗号化し、必要なポートは一つだけで、ファイアウォールもきれいに通り抜けます。FTPS は、TLS を後付けした FTP ベースの設備に縛られている場合に使います。素の FTP は、公開されていて機微でないダウンロードにだけ ― あるいはいっそ使わないのが賢明です。
FTP:最初のもの、そして暗号化なし
FTP(File Transfer Protocol)はインターネットの最初期にさかのぼり、二つの経路で動きます。コマンドをやり取りするポート 21 の制御接続と、ファイル転送やディレクトリ一覧ごとに張られる別のデータ接続です。暗号化は一切ありません。ユーザー名もパスワードもファイルの中身も、覗ける位置にいる誰にでも読める形でネットワークを流れます。
この二接続という設計は、FTP の悪名高いファイアウォール問題も生みます。アクティブモードではサーバーがクライアントに接続を返し(たいてい遮断されます)、パッシブモードではクライアントがサーバーの高位ポートのどこかに二本目の接続を開きます(サーバー側のファイアウォールがパッシブ用の範囲を開けていない限り遮断されます)。ログインは通ったのにディレクトリ一覧がいつまでも返ってこない、という経験があるなら原因はこれです。 2026年に FTP がまだどこで役に立つのか という記事で、それでも生き延びている理由を扱っています。
FTPS:FTP に TLS を後付けしたもの
FTPS は、ブラウザーに鍵マークを表示するのと同じ技術である TLS の暗号化を、普通の FTP に足したものです。二つの流儀があります。 明示的 FTPSは、クライアントが通常のポート 21 に接続してから AUTH TLS コマンドでセッションを暗号化に切り替える方式で(RFC 4217 で定義された標準です)、 暗黙的 FTPSは、ポート 990 で最初の 1 バイトから暗号化する古い流儀です。
サーバーは Web サイトとまったく同じように、TLS 証明書で身元を証明します。一方で FTPS が 解決しない のが二接続の構造です。データは今も別の接続を流れるので、パッシブポートをめぐるファイアウォールの綱渡りは残りますし、制御チャネルが暗号化されたことでファイアウォールが中を覗いてデータ用ポートを自動で開けられなくなり、むしろ厄介になります。
SFTP:そもそも FTP ではない
SFTP(SSH File Transfer Protocol)は、ほかの二つと四文字を共有しているだけで、それ以外は何も共有していません。管理者が遠隔の端末に使うのと同じ安全な経路、SSH の上に構築されたファイル転送プロトコルです。認証もコマンドもファイルのデータも、すべてポート 22 の一本の SSH 接続の中を暗号化されて流れます。
この単一接続という設計こそ、SFTP がファイアウォールや NAT をすんなり通る理由です。ポートを一つ開ければ終わりです。認証はパスワードでもできますが、より良いのは SSH 鍵で、これが自動デプロイやスクリプト転送で SFTP が定番になっている理由です。サーバーは証明書ではなくホスト鍵で身元を証明し、クライアントはその指紋を記憶して、変わったときには警告してくれます。
横並びで比べる
| FTP | FTPS | SFTP | |
|---|---|---|---|
| 土台 | 素の TCP | FTP + TLS | SSH |
| 既定のポート | 21(+データ用ポート) | 明示的なら 21 / 暗黙的なら 990(+データ用ポート) | 22 のみ |
| 暗号化 | なし | 制御チャネルとデータチャネル、またはいずれかに TLS | すべて、常時 |
| サーバーの身元 | - | TLS 証明書 | SSH ホスト鍵 |
| 認証の選択肢 | パスワード、匿名 | パスワード、クライアント証明書 | パスワード、SSH 鍵 |
| ファイアウォールと NAT | 面倒(パッシブポートの範囲) | 最も面倒(暗号化された制御チャネルとポート範囲) | 簡単(接続は一本) |
| よくある用途 | 古いサーバー、公開ミラー | 企業の FTP 設備、法令順守の要請 | Web ホスティング、VPS、NAS、デプロイ |
どれを使うべきか
- 自分で選べる場合: SFTP です。既定として最も強く、ネットワークが最も単純で、鍵による自動化ができます。
- ホストや機器が FTP と FTPS しか話さない場合: 明示的モードの FTPS を使い、証明書が有効であることを確かめてください。素の FTP は、データが本当に公開されている場合だけにしましょう。
- 自動化する場合: SSH 鍵を使った SFTP です。スクリプトにパスワードを書かずに済みます。(Windows に標準で入っている
ftp.exeは SFTP も FTPS も話さない点に注意してください。制約については コマンドラインの FTP ガイド をご覧ください。) - 法令順守で「FTPS」が求められる場合: 決済や医療の一部の枠組みは FTPS を名指しします。それ以外では、FTPS も SFTP も通信経路の暗号化という要件を満たします。
サーバーが実際に何に対応しているか分からない? 無料のテスターを向けてみてください。 FTP, SFTP、そして FTPS の接続テスター はブラウザーから本物のハンドシェイクを実行し、 TLS プロトコルスキャナー は FTPS サーバーがどの TLS バージョンでネゴシエートするかを表示します。
そもそも選ばずに済ませる
プロトコルが三つあることの実務上の面倒は、サーバーごとにどれを話すのか気にしなければならない点です。現代的なクライアントを使えば、その違いは見えなくなります。 FTPie は FTP と FTPS にも SFTP サーバー にも(さらに WebDAV と 10 種類以上のクラウドサービスにも)同じウィンドウから接続し、パッシブモードもホスト鍵の検証も肩代わりします。無料プランでもサーバー接続を 3 つまで使えるので、頭字語のことを考えるのをやめて、ただファイルを動かせます。
端末から作業する派ですか? コマンドの一覧を手元に置いておきましょう。 FTP コマンド と SFTP コマンドは、どちらも書式と例つきです。
さあ、はじめましょう 14日間の無料トライアル
FTPie をダウンロードして、14日間の無料トライアルを始めましょう。FTP とクラウドをひとつにまとめた操作性を試し、期間終了後も無料版をそのままお使いいただけます。
無料トライアルをダウンロード