FTPとSFTPは、どちらもパソコンとサーバーの間でファイルを送受信するために使われます。
ただし、最大の違いは通信内容が暗号化されるかどうかです。FTPは基本的に通信内容を暗号化せず、SFTPはSSHの仕組みを使って通信を暗号化します。
現在のWebサイト運営では、サーバーが対応しているならSFTPを優先するのが基本です。
30秒でわかる結論
- FTPとSFTPはどちらもサーバーへファイルを転送する仕組み
- FTPは標準状態では通信内容を暗号化しない
- SFTPはSSH上で通信し、認証情報やファイル転送を暗号化できる
- FTPは通常21番、SFTPは通常22番ポートを使う
- SFTPとFTPSは別の仕組み
- WordPressのテーマ・画像・設定ファイルを扱うならSFTPの方が安全
- 初心者は「対応しているならSFTP、FTPしかない場合はFTPS対応も確認」でよい
FTPとは?
FTPは「File Transfer Protocol」の略で、パソコンとサーバーの間でファイルを送受信するための通信方式です。
Webサイト制作では、HTML、画像、CSS、PHPファイルなどをレンタルサーバーへアップロードするときに使われてきました。
FTPでできること
- HTMLファイルをアップロードする
- 画像をサーバーへ送る
- WordPressのテーマファイルを編集する
- サーバー上のファイルをダウンロードする
- 不要なファイルを削除する
FTPは「ファイル転送の仕組み」
ブラウザでWebページを見るHTTPとは用途が違い、FTPは主にサーバー上のファイルを管理するために使います。
SFTPとは?
SFTPは「SSH File Transfer Protocol」の略で、SSH接続上でファイルを安全に転送するためのプロトコルです。
FTPとは別のプロトコルで、単にFTPへ暗号化機能を付けただけではありません。
SFTP = SSHを利用した暗号化ファイル転送
ログイン情報や転送するファイル内容を暗号化できるため、インターネット経由でサーバーへ接続する場合に安全性を高められます。
FTPとSFTPの違いを比較
| 比較項目 | FTP | SFTP |
|---|---|---|
| 主な用途 | ファイル転送 | 安全なファイル転送 |
| 暗号化 | 標準ではなし | あり |
| 認証情報 | 平文で流れる可能性 | 暗号化 |
| 標準ポート | 21 | 22 |
| 基盤 | FTP | SSH |
| 現在の推奨 | 限定的 | 対応していれば優先 |
サーバーがSFTP対応ならSFTPを選ぶ
ファイル転送という目的は同じでも、認証情報やファイル内容を暗号化できるSFTPの方が安全性を確保しやすいため、初心者でもSFTPを第一候補にして問題ありません。
FTPはなぜ危険と言われる?
通常のFTPでは、ユーザー名・パスワード・転送データを暗号化しません。
そのため、安全でないネットワーク上で通信内容を第三者に取得されると、認証情報やファイル内容を読み取られる危険があります。
パスワード漏えいにつながる可能性
FTPの認証情報が第三者に知られると、Webサイトのファイルを書き換えられたり、不正なファイルをアップロードされたりする可能性があります。
特にWordPressでは、テーマやプラグイン、設定ファイルへアクセスできるFTPアカウントが漏れると、サイト全体へ影響する可能性があります。
SFTPなら何が安全になる?
SFTPはSSHの暗号化通信を使うため、次の情報を保護しやすくなります。
SFTPで保護される主な情報
- ユーザー名
- パスワード
- 公開鍵認証のやり取り
- アップロードするファイル
- ダウンロードするファイル
- ディレクトリ操作
FTP:通信をそのまま転送
SFTP:SSHで暗号化して転送
FTPとSFTPではポート番号も違う
一般的にFTPとSFTPでは利用するポート番号が異なります。
| 方式 | 標準的なポート |
|---|---|
| FTP | 21 |
| SFTP | 22 |
ただし、サーバー会社が独自ポートを指定している場合もあります。
「22番」と決めつけない
接続設定では、必ずレンタルサーバーやVPSの管理画面に表示されているポート番号を確認してください。
FTPとSFTPはログイン情報も違う?
レンタルサーバーによっては、FTP用アカウントとSSH/SFTP用アカウントが別になっています。
一方、同じユーザー名でSFTP接続できるサービスもあります。
| 確認項目 | 例 |
|---|---|
| ホスト名 | server.example.com |
| 接続方式 | SFTP |
| ポート | 22 |
| ユーザー名 | 契約先指定 |
| 認証 | パスワード / 公開鍵 |
初心者はこれでOK
FTPソフトへ入力する前に、サーバー管理画面で「SFTP」「SSH」「接続情報」といった項目を探してください。FTPの設定値をそのままSFTPへ入れても接続できない場合があります。
SFTPでは公開鍵認証も使える
SFTPでは、パスワード認証だけでなくSSH公開鍵認証を利用できる場合があります。
公開鍵認証では、サーバー側に公開鍵を登録し、利用者側が秘密鍵を保持します。
サーバー:公開鍵
利用者PC:秘密鍵
秘密鍵を適切に管理すれば、単純なパスワード認証より強固な運用がしやすくなります。
VPSでは公開鍵認証+SFTPを優先
VPSを自分で管理する場合は、SSH公開鍵認証を設定し、そのSSH環境を使ってSFTP接続する方法が安全性と管理性のバランスを取りやすいです。
SFTPとFTPSは同じではない
SFTPとよく似た名前に「FTPS」があります。
この2つは別の仕組みです。
| 方式 | 仕組み | 暗号化 |
|---|---|---|
| FTP | FTP | なし |
| FTPS | FTP+TLS | あり |
| SFTP | SSH | あり |
名前が似ているだけ
SFTPは「SecureなFTP」ではなく、SSHを使った別方式です。FTPSはFTP通信をTLSで保護します。
FTPSなら使ってもいい?
はい。FTPSも通信を暗号化できるため、通常のFTPより安全性を高められます。
レンタルサーバーがSFTPに対応しておらず、FTPSには対応している場合はFTPSを利用するのが現実的です。
はい → SFTPを優先
はい → FTPSを利用
利用環境・接続元制限など追加対策を確認
FTPソフトはSFTPでも使える?
多くのファイル転送ソフトは、FTPだけでなくSFTPにも対応しています。
接続設定で「FTP」ではなく「SFTP」を選び、ホスト名、ポート、ユーザー名、パスワードまたは秘密鍵を設定します。
接続設定のイメージ
プロトコル:SFTP
ホスト:サーバー会社指定
ポート:22または指定値
ユーザー:SSH/SFTP用ユーザー
認証:パスワードまたは秘密鍵
ソフトによって表記や設定項目が違うため、接続先サーバーと利用ソフトの両方のマニュアルを確認してください。
WordPressでFTP・SFTPはいつ使う?
普段の記事投稿や画像アップロードだけなら、WordPress管理画面から操作できるため、FTP/SFTPを毎日使う必要はありません。
主にトラブル対応やファイル単位の作業で利用します。
WordPressで使う場面
- テーマファイルを確認する
- プラグインを手動で削除する
- アップロード済みファイルを確認する
- 設定ファイルをバックアップする
- 管理画面へ入れないトラブルを直す
直接編集はバックアップしてから
functions.phpやwp-config.phpなど重要ファイルを直接編集すると、記述ミスでサイトが表示されなくなることがあります。変更前に必ず元ファイルを保存してください。
FTP/SFTPアカウントの安全な管理方法
SFTPを使っていても、パスワードや秘密鍵の管理が悪ければ安全とは言えません。
安全な運用チェック
- 他サービスと同じパスワードを使わない
- 長く推測されにくいパスワードにする
- 不要なFTP/SFTPアカウントを削除する
- 退職者・外注先のアカウントを残さない
- 秘密鍵をメール添付で共有しない
- 可能なら接続元IP制限を利用する
- 作業後に権限を見直す
外注時の例
制作会社へ一時的にファイル操作を依頼する場合、自分の管理者アカウントを共有するより、作業用アカウントを個別発行し、終了後に削除する方が安全です。
転送速度はFTPとSFTPで違う?
SFTPでは暗号化・復号処理があるため、条件によってはFTPよりCPU負荷が増えます。
ただし、一般的なWebサイトのファイル転送で、安全性を犠牲にしてFTPを選ぶほどの差になるとは限りません。
1GB転送で考える
仮にFTPが80MB/秒、SFTPが60MB/秒なら、1GBの転送時間は概算で次の通りです。
FTP:約12.8秒
SFTP:約17.1秒
1,024MB ÷ 80 ≒ 12.8秒
1,024MB ÷ 60 ≒ 17.1秒
実際には回線速度、CPU、ファイル数、サーバー負荷などの影響が大きいため、この数値は比較イメージです。
数秒の差より暗号化を優先
Webサイト運用では、転送速度差より認証情報とファイルを安全に送れることの方が重要です。対応しているならSFTPを使ってください。
FTPしか使えない場合はどうする?
古いサービスや一部環境では、SFTPを利用できない場合があります。
その場合は、まずFTPSに対応していないか確認します。
どうしても通常FTPしか使えない場合は、接続元IP制限、短期間だけアカウントを有効にする、強いパスワードを使うなど、リスクを減らす運用を検討します。
公共Wi-Fiから通常FTPを使わない
暗号化されていないFTPを、不特定多数が利用するネットワークから使うのは避けてください。
FTPとSFTPの選び方
管理画面でSSH/SFTP機能が提供されていればSFTPを使います。
SSHを利用できるため、公開鍵認証とSFTPの組み合わせが基本です。
SFTPがなければFTPS対応を確認します。
作業者専用アカウントを作成し、終了後に無効化します。
教科書判定|SFTPを基本、FTPは例外にする
初心者でも「SFTPが使えるならSFTP」で迷わなくていい
通常のFTPは認証情報やファイル内容を暗号化しないため、現在のWebサイト運営では積極的に選ぶ理由は多くありません。SFTPが使えればSFTP、使えなければFTPSを確認し、通常FTPは必要な場合だけ使う、という順番で判断してください。
よくある質問
Q.SFTPはFTPの安全版ですか?
用途は似ていますが、技術的には別の仕組みです。SFTPはSSHを利用してファイル転送を暗号化します。
Q.SFTPとFTPSはどちらが安全ですか?
どちらも適切に設定すれば暗号化通信が可能です。利用中のサーバーが対応している方式と運用管理のしやすさで選びます。VPSではSFTPを使いやすいケースが多いです。
Q.SFTPのポートは必ず22番ですか?
標準は22番ですが、サーバー側で別ポートへ変更されている場合があります。契約先の接続情報を確認してください。
Q.WordPress運営にFTPソフトは必須ですか?
通常の記事投稿だけなら必須ではありません。ただし、プラグイントラブルやファイルバックアップなど、管理画面外からファイルを操作する場面で役立ちます。
Q.FTPからSFTPへ変えるとWebサイトURLも変わりますか?
変わりません。FTP/SFTPはファイル転送方式なので、WebサイトのドメインやURLとは別の設定です。
まとめ|ファイル転送はSFTPを優先する
この記事の結論
- FTPとSFTPはどちらもサーバーへのファイル転送に使う
- FTPは標準では通信を暗号化しない
- SFTPはSSHを使って通信を暗号化する
- FTPは通常21番、SFTPは通常22番ポートを使う
- SFTPとFTPSは別の仕組み
- VPSでは公開鍵認証+SFTPを使いやすい
- 対応しているなら通常FTPよりSFTPを優先する
初心者は、「FTP=暗号化なしの従来方式、SFTP=SSHで暗号化する安全なファイル転送」と覚えてください。サーバーがSFTPに対応していればSFTPを選び、アカウントや秘密鍵の管理まで含めて安全に運用するのが基本です。
次に読むなら
SFTPの仕組みを理解したら、次は「SSHとは?」で、サーバーへ安全にログインしてコマンド操作する仕組みと公開鍵認証について確認してください。