← PC・IT用語集へ戻る

FTP / SFTP

FTP / SFTP
network beginner
FTPはサーバーへファイルを送受信するための古い通信方式で、SFTPはSSHの仕組みを使って安全にファイル転送する方式のこと。
FTP / SFTP (FTP / SFTP)

概要(サマリー)

FTP / SFTPとは、手元のPCとサーバーの間でファイルを送受信するための仕組みである。

FTPは昔から使われているファイル転送方式で、WebサイトのHTMLCSS、画像、設定ファイルなどをサーバーへアップロードするときに使われてきた。一方、SFTPはSSHの仕組みを使って、通信を暗号化しながら安全にファイルを転送する方式である。初心者向けには、「サーバーとのファイル受け渡しに使う道具」であり、今は可能ならSFTPを使うほうが安全だと考えるとわかりやすい。

詳細解説

FTP / SFTPは「サーバーとファイルをやり取りする仕組み」である

Webサイトやアプリを公開するとき、手元のPCで作ったファイルをサーバーへ置く必要がある。
そのときに使われる代表的な仕組みがFTPやSFTPである。

たとえば、次のようなファイルをサーバーへアップロードする場面で使われる。

つまりFTP / SFTPは、サーバーにファイルを「送る」「受け取る」「編集する」ための通信手段である。

FTPとは何か

FTPは File Transfer Protocol の略で、ファイル転送のための古い通信方式である。
昔から多くのレンタルサーバーやWeb制作の現場で使われてきた。

FTPを使うと、FTPソフトからサーバーへ接続し、フォルダを開くような感覚でファイルをアップロードしたりダウンロードしたりできる。
代表的なFTPソフトには、FileZilla、Cyberduck、WinSCPなどがある。

ただし、通常のFTPは通信内容が暗号化されないため、ユーザー名やパスワード、転送しているファイル内容を盗み見られるリスクがある。
そのため、現在では通常のFTPよりも、SFTPやFTPSなど安全な方式を使うほうが望ましい。

SFTPとは何か

SFTPは SSH File Transfer Protocol の略で、SSHの仕組みを使って安全にファイル転送する方式である。
FTPという名前が入っているように見えるが、仕組みとしては通常のFTPとは別物である。

SFTPでは、通信が暗号化される。
そのため、サーバーへログインするときの認証情報や、送受信するファイルの中身を保護しやすい。

初心者向けには、次のように考えるとよい。

  • FTP = 昔ながらのファイル転送
  • SFTP = SSHの安全なトンネルを使ったファイル転送

サーバー会社や開発現場でSFTPが使えるなら、基本的にはSFTPを選ぶほうが安全である。

FTPとSFTPの違い

FTPとSFTPは、どちらもファイル転送に使えるが、仕組みと安全性が違う。

  • FTP
    ファイル転送用の古い通信方式。通常は暗号化されない
  • SFTP
    SSHを使った安全なファイル転送方式。通信が暗号化される

特に重要なのは、SFTPはSSHを使う点である。
そのため、SFTPではSSH接続と同じように、ユーザー名、ホスト名、ポート番号、パスワードまたは秘密鍵などを使って接続することがある。

FTPSとの違い

SFTPと似た言葉に FTPS がある。
名前が似ているため混同しやすいが、SFTPとFTPSは別物である。

  • SFTP
    SSHを使ってファイル転送する方式
  • FTPS
    FTPにSSL/TLSによる暗号化を追加した方式

つまり、SFTPはSSH系、FTPSはFTPを暗号化したもの、と考えると整理しやすい。
どちらも通常のFTPより安全性を高める目的で使われるが、サーバー側がどちらに対応しているかは環境によって異なる。

どんなソフトで使うのか

FTP / SFTPは、専用ソフトや開発ツールから使うことが多い。

代表的には次のようなものがある。

  • FileZilla
  • Cyberduck
  • WinSCP
  • Transmit
  • VS Codeの拡張機能
  • 一部のサーバー管理ツール

FTPソフトでは、左側に自分のPC、右側にサーバーのファイル一覧が表示されるような画面が多い。
そのため、初心者でもドラッグ&ドロップ感覚でファイルを転送しやすい。

接続に必要な情報

FTPやSFTPでサーバーへ接続するには、いくつかの情報が必要になる。

よく使う情報は次の通りである。

  • ホスト名
  • ユーザー名
  • パスワード
  • ポート番号
  • 接続方式
  • 秘密鍵

たとえばSFTPの場合、ポート番号はSSHと同じく 22 が使われることが多い。
ただし、サーバー会社によっては 10022 など別の番号を指定していることもある。

このため、接続できないときは、ホスト名、ユーザー名、パスワード、ポート番号、接続方式が合っているかを確認する必要がある。

Port Numberとの関係

FTP / SFTPでは、Port Number も重要である。
通信方式ごとによく使われるポート番号がある。

代表的には次のような例がある。

  • FTP: 21
  • SFTP: 22
  • FTPS: 990 または 21 を使う場合がある

ただし、実際のサーバー設定によって異なる場合がある。
そのため、「FTPだから必ず21」「SFTPだから必ず22」と決めつけず、サーバー会社の接続情報を確認することが大切である。

SSHとの関係

SFTPはSSHの仕組みを使うため、SSHとかなり関係が深い。

  • SSH
    サーバーへ安全にログインして、コマンド操作する仕組み
  • SFTP
    SSHの仕組みを使って、安全にファイル転送する仕組み

つまり、SSHは遠隔操作の入口であり、SFTPはその安全な通信路を使ったファイル転送と考えるとよい。
SFTPで秘密鍵を使って接続することがあるのも、このSSHとの関係があるためである。

Web制作でよくある使い方

Web制作では、FTP / SFTPはかなり身近な存在である。

たとえば、次のような作業で使われる。

HTMLやCSSをアップロードする

ローカルで編集したWebページのファイルをサーバーへ転送する。

画像をアップロードする

商品画像、バナー、ブログ用画像などをサーバー上の所定フォルダへ置く。

WordPressテーマを編集する

テーマファイルや子テーマのファイルを確認・編集・アップロードする。

ログや設定ファイルを確認する

サーバー上にあるログファイルや設定ファイルをダウンロードして確認する。

静的HTMLを公開する

WordPressの外に置いた静的HTMLファイルを、SFTPソフトでアップロードすることもある。

FTP / SFTPを使うときの注意点

FTPではなくSFTPを優先する

通常のFTPは暗号化されないため、可能ならSFTPを使うほうが安全である。
サーバーがSFTPに対応しているか確認したい。

上書きミスに注意する

サーバー上のファイルを誤って上書きすると、サイトが壊れることがある。
重要なファイルを触る前は、バックアップを取ると安全である。

本番環境を直接編集しすぎない

FTPソフトで本番ファイルを直接編集すると、ミスがすぐ公開環境に反映される。
できるだけローカルで編集し、確認してからアップロードするほうが安全である。

権限やパーミッションに注意する

サーバー上のファイルには、読み取り・書き込み・実行などの権限が設定されている。
不用意に変更すると、ページが表示されなかったり、セキュリティ上の問題が出たりすることがある。

秘密情報をアップロードしない

.env や認証情報、バックアップファイルなどを誤って公開領域に置くと危険である。
特にWebからアクセスできる場所に置くファイルには注意が必要である。

AI時代にFTP / SFTPの理解が重要な理由

AIにWebサイトやアプリを作らせると、ローカルではファイルができても、それをサーバーへ配置する作業が必要になることがある。
そのとき、FTP / SFTPを使ってアップロードする場面はまだ多い。

たとえば、AIに次のような相談をすることがある。

  • このHTMLファイルをサーバーにアップしたい
  • WordPress外に静的HTMLを置きたい
  • サーバー上のファイル構成を確認したい
  • どのフォルダにアップロードすればよいか知りたい
  • WinSCPやFileZillaで接続できない原因を調べたい

このとき、FTP / SFTPの意味が分かっていないと、接続方式、ポート番号、アップロード先、公開ディレクトリの違いで混乱しやすい。
逆に、SFTPを「安全にサーバーとファイルをやり取りする方法」と理解しておくと、AIの手順やサーバー会社の説明が読みやすくなる。

AIコーディングとの関係

AIにコード生成や修正を依頼するとき、FTP / SFTPの意味を理解していると、出力されたコードやエラー内容を判断しやすくなる。
FTPはサーバーへファイルを送受信するための古い通信方式で、SFTPはSSHの仕組みを使って安全にファイル転送する方式のこと。

AIへ相談するときは、「何をしたいのか」「どの環境で起きているのか」「どのファイルやエラーを見ているのか」を一緒に伝えるとよい。
用語だけを投げるより、具体的な状況と期待する結果を添えることで、より実用的な回答を得やすくなる。

よくある勘違い

FTP / SFTPは名前だけ覚えれば十分?

名前だけでは不十分である。
実際の開発では、どんな場面で使われ、何と混同しやすいかまで理解しておくと判断しやすい。

FTP / SFTPはAIに任せれば理解しなくてよい?

そうではない。
AIは説明やコードを出せるが、最終的にその内容が正しいか、今の目的に合っているかを確認するのは人間である。

FTP / SFTPは単独で覚えればよい?

単独ではなく、関連する用語や実際の作業の流れと一緒に覚えると理解しやすい。
用語同士のつながりを意識すると、AIへの質問やエラー調査もしやすくなる。

まとめ

  • FTP / SFTPは、FTPはサーバーへファイルを送受信するための古い通信方式で、SFTPはSSHの仕組みを使って安全にファイル転送する方式のこと。
  • 関連する用語や実際の作業場面と一緒に理解すると、使いどころを判断しやすい。
  • AIコーディングでは、用語の意味を理解しているほど、AIの説明や生成コードを確認しやすくなる。
  • 迷ったときは、エラー内容、目的、前提条件を整理してAIに聞くとよい。

より詳しくAIに聞いてみよう

  • FTP / SFTPとは何かを、中学生でもわかるように具体例つきで説明してください。
  • FTP と SFTP と FTPS の違いを、初心者向けに整理してください。
  • SFTPでサーバーへ接続するときに必要な情報を教えてください。
  • FTPソフトでファイルをアップロードしてもWebに表示されない原因を整理してください。
  • AIが作ったHTMLファイルをSFTPで安全にアップロードする手順を教えてください。