FTP / SFTP
FTP / SFTP
概要(サマリー)
FTP / SFTPとは、手元のPCとサーバーの間でファイルを送受信するための仕組みである。
FTPは昔から使われているファイル転送方式で、WebサイトのHTML、CSS、画像、設定ファイルなどをサーバーへアップロードするときに使われてきた。一方、SFTPはSSHの仕組みを使って、通信を暗号化しながら安全にファイルを転送する方式である。初心者向けには、「サーバーとのファイル受け渡しに使う道具」であり、今は可能ならSFTPを使うほうが安全だと考えるとわかりやすい。
詳細解説
FTP / SFTPは「サーバーとファイルをやり取りする仕組み」である
Webサイトやアプリを公開するとき、手元のPCで作ったファイルをサーバーへ置く必要がある。
そのときに使われる代表的な仕組みがFTPやSFTPである。
たとえば、次のようなファイルをサーバーへアップロードする場面で使われる。
- HTMLファイル
- CSSファイル
- JavaScriptファイル
- 画像ファイル
- PHPファイル
- 設定ファイル
- WordPressテーマやプラグインのファイル
つまり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で安全にアップロードする手順を教えてください。