FTPとは?仕組みと使い方を初心者向けに徹底解説!
インターネットを利用する上で、ファイル転送は欠かせない操作です。Webサイトを公開するためにサーバーにファイルをアップロードしたり、遠隔地のコンピューターからファイルを取得したりと、様々な場面でファイル転送技術が活用されています。その中でも、古くから使われ、現在でも多くの場面で利用されているのが「FTP」です。
しかし、「FTP」という言葉を聞いたことはあっても、「具体的にどんな仕組みで動いているの?」「どうやって使うの?」「セキュリティは大丈夫なの?」といった疑問を持つ方もいらっしゃるかもしれません。特に、インターネットやサーバーの知識がまだ浅い初心者の方にとっては、少し難しく感じられることもあるでしょう。
この記事では、そんな初心者の方々に向けて、FTPの基本から仕組み、具体的な使い方、そしてFTPを取り巻く環境や代替技術について、約5000語のボリュームで徹底的に解説します。この記事を読めば、FTPがどのように動作し、どのような場面で役立つのか、そしてより安全にファイル転送を行うためにはどうすれば良いのかを、深く理解することができるはずです。
インターネットの世界でファイルを自在に操る第一歩として、FTPについて一緒に学んでいきましょう。
1. はじめに:なぜファイル転送が必要なのか
インターネットは、世界中のコンピューターやデバイスが相互に接続された巨大なネットワークです。私たちが日々目にしているWebサイトも、スマートフォンで利用しているアプリも、その裏側では様々なコンピューター間でデータのやり取りが行われています。
そのデータの中でも、特に重要なのが「ファイル」です。Webサイトの構成要素であるHTMLファイル、画像ファイル、スタイルシートファイル、プログラムファイルなど、インターネット上の情報は多くの場合、ファイルとして扱われます。
これらのファイルを、自分の手元のコンピューター(クライアント)と、インターネット上の遠隔地のコンピューター(サーバー)との間でやり取りする必要があります。例えば、
- Webサイトの公開: 自分で作成したWebサイトのファイルを、レンタルサーバーなどのWebサーバーにアップロードする必要があります。
- ファイルの共有: 遠隔地の共同作業者とファイルを共有したい場合、サーバーにファイルを置いてアクセスできるようにする必要があります。
- バックアップ: 大切なファイルを遠隔地のストレージやサーバーにバックアップしたい場合。
- ソフトウェアのダウンロード: サーバーに置かれたソフトウェアの実行ファイルなどを取得する場合。
これらのファイル転送を効率的かつ安全に行うために開発されたのが、「ファイル転送プロトコル」、すなわち「FTP」をはじめとする様々なプロトコルなのです。
2. FTPとは何か?基本的な定義と歴史
2.1. FTPの正式名称と意味
FTPは “File Transfer Protocol”(ファイル・トランスファー・プロトコル)の略称です。「プロトコル」とは、コンピューター同士が通信を行う上で守るべき「約束事」や「手順」のことです。インターネット上には様々なプロトコルが存在し、それぞれ異なる目的のために使われています。例えば、Webサイトを閲覧するためのHTTP、電子メールを送受信するためのSMTPやPOP3などがあります。
FTPは、その名の通り、「ファイルを転送するための約束事」を定めたプロトコルです。FTPを使うことで、異なる種類のコンピューターやオペレーティングシステム(OS)の間でも、共通の手順で安全かつ確実にファイルをやり取りできるようになります。
2.2. FTPが開発された背景と歴史
FTPは、インターネットがまだ現在の形になる前の、ARPANET(アーパネット)と呼ばれていた時代、つまり1970年代初頭に開発されました。当時のコンピューターは、今のように高性能ではなく、ネットワーク環境も限られていました。異なる種類のコンピューター間でのファイル交換は容易ではなく、標準的な手順が求められていました。
このような背景から、ホストコンピューター間でファイルを効率的に転送するためのプロトコルとしてFTPが誕生しました。初期のインターネットにおける最も重要な機能の一つとして位置づけられ、現在に至るまで基本的なファイル転送の手段として広く利用されています。
時代が進むにつれて、ネットワーク環境は高速化し、コンピューターの性能も飛躍的に向上しました。また、セキュリティの重要性が高まり、FTPのいくつかの弱点が指摘されるようになります(これについては後述します)。しかし、そのシンプルさと汎用性から、特にサーバー管理やWebサイト運営の分野で、FTPは今なお現役のプロトコルとして利用されています。
2.3. プロトコルとは何か?
ここで改めて「プロトコル」について少し掘り下げておきましょう。プロトコルは、人間で言えば「言葉」や「コミュニケーションのルール」のようなものです。私たちが誰かと会話する際に、お互いに理解できる言語(日本語、英語など)を使い、挨拶や質問、応答といった手順(ルール)を守ることでコミュニケーションが成り立ちます。
コンピューターネットワークにおけるプロトコルもこれと同じです。例えば、AというコンピューターがBというコンピューターにデータを送りたい場合、どのような形式でデータを送るのか、Bはどのようにそれを受け取るのか、通信中にエラーが起きたらどうするのか、といった約束事が事前に決められています。この約束事がプロトコルです。
FTPは、ファイル転送という特定の目的のために作られたプロトコルであり、ファイル転送に関する一連の「言葉」と「ルール」を提供します。
3. FTPの仕組み:クライアントとサーバー、そして2つのコネクション
FTPは、「クライアント/サーバーモデル」という一般的なネットワーク通信の形式を採用しています。そして、その通信は少し特殊で、「制御用」と「データ転送用」の2つの異なるコネクション(接続)を使って行われるという特徴があります。
3.1. クライアント/サーバーモデル
- FTPクライアント: ファイルを転送したいユーザーが操作する側のコンピューターやソフトウェアです。サーバーに接続要求を送り、ファイル操作の指示(アップロード、ダウンロード、削除など)を行います。皆さんがFTPクライアントソフトを自分のPCにインストールして使う場合、そのPCがクライアントとなります。
- FTPサーバー: 転送対象のファイルが保存されているコンピューターや、ファイルを保存するためのコンピューターです。クライアントからの接続要求を受け付け、認証を行い、クライアントからの指示に基づいてファイル操作を実行します。レンタルサーバーやWebホスティングサービスで提供されるサーバーは、FTPサーバーとして機能します。
FTPの通信は、常にクライアントからの要求(コマンド)に対して、サーバーが応答(レスポンス)を返す形で進みます。これは、人間が電話で会話する際に、一方が話しかけてもう一方がそれに答える、という流れに似ています。
3.2. 制御コネクションとデータコネクション
FTPの最も特徴的な仕組みの一つは、ファイル転送のために同時に2つのTCPコネクションを使用することです。
-
制御コネクション (Control Connection)
- 目的: クライアントがサーバーにコマンドを送信したり、サーバーからコマンドの応答を受け取ったりするために使われます。認証(ユーザー名とパスワードの送信)や、ディレクトリの移動、ファイルリストの取得、ファイル転送の開始指示など、ファイル転送そのものではなく、転送を制御するための通信を行います。
- 使用ポート: 標準ではTCPポート21を使用します。
- 性質: クライアントがサーバーに接続要求を送信し、サーバーがそれを受け付けることで確立されます。このコネクションは、FTPセッションが終了するまで(クライアントがサーバーから切断するまで)、常に確立されたままになります。TCPプロトコルを使用するため、信頼性が高く、コマンドと応答が順番通りに正確にやり取りされます。
-
データコネクション (Data Connection)
- 目的: 実際にファイルデータやディレクトリリストを転送するために使われます。制御コネクションでファイル転送の開始が指示されると、このデータコネクションが一時的に確立され、データの転送が完了すると切断されます。ファイル転送のたびに確立・切断を繰り返します。
- 使用ポート: これが少し複雑で、「アクティブモード」と「パッシブモード」という2つのモードによって使用するポートやコネクションの確立方法が異なります(後述)。
- 性質: 大量のデータを効率的に転送することに特化しています。これもTCPプロトコルを使用するため、データの欠落なく確実に転送されます。
なぜ2つのコネクションが必要なのか?
制御コネクションとデータコネクションを分離することで、以下のようなメリットがあります。
- 効率性: データ転送中に制御コネクションがブロックされないため、クライアントはデータ転送中でもいつでもサーバーに新しいコマンド(例えば、転送の中止や別のファイル転送の準備など)を送ることができます。
- シンプルさ: 各コネクションはそれぞれの役割に特化できます。制御コネクションはコマンド処理に、データコネクションは大量のデータ転送に集中できます。
- 信頼性: 制御コネクションが常に確立されていることで、データ転送が一時的に中断されたり、データコネクションが切断されたりしても、セッション自体は維持され、コマンドによる制御が可能です。
3.3. アクティブモードとパッシブモード
データコネクションの確立方法には、「アクティブモード」と「パッシブモード」という2つの方法があります。この違いは、特にファイアウォール環境で重要になります。
3.3.1. アクティブモード (Active Mode)
古い方式であり、現代のインターネット環境、特にファイアウォールが普及した環境では問題が発生しやすいモードです。
-
通信の流れ:
- クライアントはサーバーのポート21に接続し、制御コネクションを確立します。
- クライアントはサーバーにファイル転送のコマンド(例:
PORT
コマンドと、データコネクションに使用したいクライアント側のIPアドレスとポート番号)を送信します。 - サーバーは、クライアントから指定されたクライアント側のポートに対して、サーバーのポート20から接続を試みます。
- クライアントは、サーバーからの接続要求を受け付け、データコネクションが確立されます。
- データ転送が行われます。
-
問題点:
- サーバーがクライアント側の特定のポートに能動的に接続を試みる構造になっています。
- 多くのクライアント側のコンピューターにはファイアウォールが設定されており、外部(この場合はサーバー)からの突然の接続要求をブロックすることが一般的です。
- クライアント側のファイアウォールは、サーバーからのポート20への接続要求を「未知の、許可されていない接続」と判断して遮断してしまうため、データコネクションが確立できず、ファイル転送が失敗することが頻繁に起こります。
3.3.2. パッシブモード (Passive Mode)
アクティブモードの問題点を解決するために考案された、現代のFTP通信で一般的に使われるモードです。
-
通信の流れ:
- クライアントはサーバーのポート21に接続し、制御コネクションを確立します(これはアクティブモードと同じです)。
- クライアントはサーバーにファイル転送のコマンド(例:
PASV
コマンド)を送信し、データコネクションをパッシブモードで確立したいことを伝えます。 - サーバーはクライアントに応答として、データコネクションのために使用するサーバー側のランダムなポート番号を伝えます(例: 応答コード
227 Entering Passive Mode (h1,h2,h3,h4,p1,p2)
。h1-h4がIPアドレス、p1*256+p2がポート番号を示します)。 - クライアントは、サーバーから通知されたサーバー側のランダムなポートに対して、クライアント側のランダムなポートから接続を試みます。
- サーバーは、クライアントからの接続要求を受け付け、データコネクションが確立されます。
- データ転送が行われます。
-
利点:
- データコネクションも、クライアントがサーバーに対して接続を開始する形になります。
- クライアント側のファイアウォールは、クライアント自身が開始した(アウトバウンドの)接続は通常許可します。そのため、サーバーからの接続要求をブロックするアクティブモードの時のような問題が発生しにくくなります。
- サーバー側では、データコネクション用に特定のポート(通常は1024番以降の動的なポート範囲)を開放しておく必要がありますが、クライアント側はアウトバウンド接続を許可するだけでよいため、クライアント側の設定が容易になります。
どちらのモードを使うべきか?
現代のインターネット環境では、クライアント側にファイアウォールが存在することがほとんどであるため、パッシブモードを使用することが強く推奨されます。多くのFTPクライアントソフトは、デフォルトでパッシブモードを使用するように設定されています。もしFTP接続やデータ転送がうまくいかない場合は、接続モードの設定(アクティブ/パッシブ)を確認してみる価値があります。
サーバー側では、パッシブモードに対応するために、制御用ポート(21番)に加えて、データ転送用の動的ポート範囲(例えば50000番~50100番など)への接続を外部から許可しておく必要があります。
4. FTPでできること・できないこと
FTPはファイル転送に特化したプロトコルですが、具体的にどのような操作が可能なのでしょうか。
4.1. FTPでできること
FTPは、リモートのFTPサーバー上のファイルを操作するための基本的な機能を提供します。
- ファイルのアップロード: 自分のコンピューターにあるファイルをFTPサーバーに送信します。Webサイトのファイルを公開サーバーに置く際などに使用します。
- ファイルのダウンロード: FTPサーバーにあるファイルを自分のコンピューターに取得します。サーバーからログファイルをダウンロードしたり、共同作業者がサーバーに置いたファイルを取得したりする際に使用します。
- ディレクトリ(フォルダ)の作成: FTPサーバー上に新しいディレクトリを作成します。ファイルを整理したり、新しいWebサイトのディレクトリ構造を作ったりする際に使用します。
- ディレクトリの移動: サーバー上のディレクトリ間を移動します。特定のディレクトリ内のファイルを操作する前に、そのディレクトリに移動する必要があります。
- ディレクトリ一覧の取得: 現在のディレクトリ内に存在するファイルやサブディレクトリの一覧を取得します。ファイル名やサイズ、更新日時、パーミッション(アクセス権)などの情報が表示されます。
- ファイル・ディレクトリ名の変更: サーバー上のファイルやディレクトリの名前を変更します。
- ファイル・ディレクトリの削除: サーバー上の不要なファイルやディレクトリを削除します。
- パーミッション(アクセス権)の変更: サーバー上のファイルやディレクトリに対するアクセス権(読み取り、書き込み、実行権限)を変更します。特にWebサーバーでは、ファイルやディレクトリに適切なパーミッションを設定することが重要です(例: Webページは読み取り可能にする、CGIスクリプトは実行可能にするなど)。これは
chmod
コマンドに相当する操作をFTP経由で行うものです。
これらの操作は、FTPクライアントソフトのGUI(グラフィカルユーザーインターフェース)上で直感的に行えるようになっています。ローカルコンピューターのエクスプローラーやFinderのような感覚で、ドラッグ&ドロップでファイルを移動したり、右クリックメニューで操作を選んだりできます。
4.2. FTPでできないこと(あるいは苦手なこと・注意点)
FTPはファイル転送に特化しているため、すべてのファイル操作ができるわけではありません。また、構造的な弱点もあります。
- 高度なファイル操作: FTP自体はファイルの中身を編集したり、ファイルを圧縮・解凍したりする機能は持っていません。これらの操作は、通常、ローカルコンピューター上で行うか、サーバーにSSHなどでログインして直接実行する必要があります。
- リアルタイムでのファイル同期: FTPは「その時」のファイル転送を行うためのプロトコルです。ローカルのファイルとサーバー上のファイルを常に最新の状態に同期させたい、といった用途には直接は向きません。そのような目的には、rsyncのような同期ツールや、Dropbox/Google Driveなどのクラウドストレージ同期機能などが適しています。
- 中断からの再開: FTPの仕様としては中断からの再開(Resume)機能がサポートされていますが、サーバー側とクライアント側の両方がこれに対応している必要があります。古いサーバーやクライアントでは対応していない場合があり、大きなファイルを転送中にネットワークが切断されると、最初からやり直す必要がある場合があります。
- セキュリティ(重要!): これがFTPの最も大きな弱点です。FTPでは、ユーザー名、パスワード、そして転送されるファイルデータそのものが、暗号化されずにインターネット上を流れます(後述のSFTPやFTPSを除く)。
5. FTPのセキュリティ問題:平文通信のリスク
前述の通り、FTPの最大の弱点はセキュリティ、特に平文(へいぶん、Plain Text)で通信が行われることです。
5.1. なぜセキュリティが問題となるのか?
「平文で流れる」とは、情報が暗号化されずに、そのままの読める状態でネットワーク上を流れるということです。これは、例えるなら、大切な手紙を封筒に入れずに剥き出しのまま郵便で送るようなものです。
FTPでは、特に以下の情報が平文でやり取りされます。
- ユーザー名とパスワード: サーバーにログインするための最も重要な認証情報です。
- FTPコマンド: クライアントが行う操作(ファイルリスト表示、アップロード、ダウンロードなど)の指示。
- 転送されるファイルデータ: ファイルの内容そのもの。
5.2. 中間者攻撃 (Man-in-the-Middle Attack) のリスク
平文で通信が行われている場合、悪意のある第三者がネットワークの通信経路上でデータを「盗聴」したり、「改ざん」したりすることが容易になります。これを「中間者攻撃」と呼びます。
例えば、
- パスワードの盗聴: 攻撃者は、FTPのログイン時に流れるユーザー名とパスワードを簡単に傍受できます。これにより、攻撃者は正規のユーザーになりすましてサーバーに不正アクセスし、ファイルにアクセスしたり、改ざんしたり、削除したりすることが可能になります。
- ファイル内容の盗聴/改ざん: 転送中のファイルデータも平文で流れるため、機密情報や個人情報が含まれるファイルをFTPで転送した場合、その内容が第三者に漏洩するリスクがあります。また、アップロード途中のファイルを改ざんされたり、ダウンロードしたファイルに悪意のあるコードが挿入されたりする可能性もゼロではありません。
5.3. パスワードリスト攻撃のリスク
盗聴されたパスワードリストや、他のサービスから漏洩したパスワードリストを使って、様々なFTPサーバーへの不正ログインを試みる攻撃手法です。平文でパスワードが流れるFTPは、一度情報が漏洩すると他のサーバーでも被害が拡大するリスクを高めます。
5.4. FTPは安全ではない!代替技術へ移行しよう
このように、特に認証情報や機密性の高いデータを扱う場合、FTPはセキュリティ上の大きな問題を抱えています。インターネットが普及し、悪意のある攻撃者が増加した現代においては、FTPをそのまま利用することは非常に危険であると認識する必要があります。
幸いなことに、FTPの使い勝手を維持しつつ、セキュリティを強化した代替プロトコルがいくつか存在します。次に、それらのプロトコルについて説明します。
6. SFTPとFTPS:FTPの安全な代替手段
FTPのセキュリティ問題を解決するために開発されたのが、SFTPとFTPSです。これらは名前が似ていますが、仕組みは大きく異なります。
6.1. SFTP (SSH File Transfer Protocol)
SFTPは「SSH File Transfer Protocol」の略称で、SSH (Secure Shell) という安全な通信プロトコル上で動作するファイル転送プロトコルです。
- 仕組み: FTPとは全く異なるプロトコルです。SFTPは、SSHで確立された暗号化されたトンネルの中でファイル転送やファイル管理のコマンドを実行します。認証情報もファイルデータも、すべてSSHによって暗号化されてやり取りされます。
- 使用ポート: 標準ではSSHと同じTCPポート22を使用します。
- 認証: 通常、SSHの認証方法(パスワード認証、公開鍵認証など)を利用します。
- メリット:
- 高いセキュリティ: 通信全体がSSHによって強力に暗号化されるため、パスワードやファイルデータが盗聴されるリスクが極めて低くなります。
- 単一のコネクション: 制御とデータの両方を単一のSSHコネクションで行います。FTPのように2つのコネクションを使い分ける必要がありません。
- ファイアウォールに強い: 単一のポート(標準では22番)だけを開放すれば良いため、ファイアウォールの設定が比較的容易です。パッシブモードのような複雑な設定も不要です。
- デメリット:
- FTPとはプロトコルが異なるため、SFTPに対応していないFTPサーバーやクライアントでは利用できません。
- サーバー側でSSHサーバーが稼働している必要があります。
6.2. FTPS (FTP over SSL/TLS)
FTPSは「FTP over SSL/TLS」の略称で、既存のFTPプロトコルにSSL/TLSによる暗号化を追加したものです。SSL/TLSは、WebサイトのHTTPS通信などで使われている、通信を暗号化するための技術です。
- 仕組み: FTPの制御コネクションとデータコネクションの仕組みを基本的に維持しつつ、これらのコネクション上でやり取りされるデータをSSL/TLSによって暗号化します。通信を開始する前にSSL/TLSハンドシェイクを行い、安全な通信路を確立します。
- 使用ポート:
- Explicit (明示的) モード: 標準のFTP制御ポート21で接続を開始し、クライアントが
AUTH TLS
やAUTH SSL
といったコマンドを送って、明示的にSSL/TLSによる暗号化を開始します。データコネクションのポートは、アクティブモードならサーバー側20番、パッシブモードならサーバー側の動的ポートとなりますが、これらのデータコネクションもSSL/TLSで暗号化されます。 - Implicit (暗黙的) モード: 接続を開始した時点からSSL/TLSによる暗号化を使用します。標準では制御用としてTCPポート990を使用し、データコネクション用としてアクティブモードならクライアント側ポート20、パッシブモードならサーバー側の動的ポートを使用します。このモードは公式には非推奨ですが、一部で使われています。
- Explicitモードの方が一般的であり、推奨されています。
- Explicit (明示的) モード: 標準のFTP制御ポート21で接続を開始し、クライアントが
- 認証: FTPと同様にユーザー名とパスワードを使用しますが、これらの情報がSSL/TLSによって暗号化されて送信されます。
- メリット:
- FTPのコマンド体系や使い勝手を比較的維持したまま、セキュリティを強化できます。
- サーバー側はFTPサーバーにSSL/TLS機能を追加するだけで対応できる場合があります。
- デメリット:
- アクティブモードとパッシブモードの問題が、SSL/TLSによる暗号化と組み合わさることで、ファイアウォールの設定がさらに複雑になる場合があります。特にパッシブモードでデータコネクションが確立される際に、SSL/TLSの暗号化がファイアウォールにブロックされることがあります。
- SFTPと比べると、制御コネクションとデータコネクションを別々に扱うため、仕組みが少し複雑です。
6.3. SFTPとFTPS、どちらを使うべきか?
特徴 | SFTP (SSH File Transfer Protocol) | FTPS (FTP over SSL/TLS) |
---|---|---|
基盤プロトコル | SSH | FTP + SSL/TLS |
ポート番号 | 22 (SSHと同じ) | 21 (制御 Explicit), 990 (制御 Implicit), 20 or 動的 (データ) |
コネクション数 | 1 | 2 (制御とデータ) |
ファイアウォール | 設定が比較的容易 | 設定が複雑になりやすい |
仕組み | FTPとは別物 | FTPに暗号化機能を追加 |
互換性 | SSHサーバーが必要 | FTPS対応FTPサーバーが必要 |
セキュリティ | 高い | 高い (正しく設定すれば) |
推奨度 | 一般的に推奨される | 用途や環境によっては選択肢となる |
どちらを選ぶかは、サーバー側の環境や利用目的によります。しかし、現在ではSFTPの方がよりシンプルで、ファイアウォール越しの通信も安定しやすいため、特別な理由がない限り、SFTPの使用が推奨されることが多いです。特にレンタルサーバーなどでは、SSHが提供されていればSFTPも同時に利用できるケースが多いです。
重要なのは、セキュリティが確保されていない従来のFTPは可能な限り避け、SFTPかFTPSを使用することです。
7. FTPの使い方(初心者向け):FTPクライアントソフト
FTP(あるいはSFTP/FTPS)を利用するには、自分のコンピューターに「FTPクライアントソフト」が必要です。ここでは、初心者でも使いやすい代表的なクライアントソフトと、その基本的な使い方を解説します。
7.1. 必要なもの
FTPサーバーに接続するために、以下の情報が必要です。
- ホスト名またはIPアドレス: 接続したいFTPサーバーのアドレスです(例:
ftp.example.com
または192.168.1.100
)。 - ポート番号: 通常、FTPは21番、SFTPは22番、FTPS (Implicit) は990番ですが、サーバーによっては変更されている場合があります。
- ユーザー名: サーバーにログインするためのユーザー名。
- パスワード: そのユーザー名に対応するパスワード。
これらの情報は、レンタルサーバーの契約情報や、FTPサーバーの管理者から提供されます。
7.2. おすすめのFTPクライアントソフト紹介
多くの高機能なFTPクライアントソフトが無料で提供されています。OS別にいくつか紹介します。
- FileZilla (ファイルジラ)
- 対応OS: Windows, macOS, Linux
- 特徴: クロスプラットフォームで利用でき、無料でありながら高機能です。FTP, FTPS, SFTPすべてに対応しており、多くのユーザーに利用されています。日本語にも対応しています。初心者から上級者まで幅広くおすすめです。
- WinSCP (ウィンエスシーピー)
- 対応OS: Windows
- 特徴: 無料で利用できるWindows向けのクライアントソフトです。FTP, SFTP, SCPプロトコルに対応しています。インターフェースが分かりやすく、特にWindowsユーザーにおすすめです。日本語にも対応しています。
- Cyberduck (サイバーダック)
- 対応OS: macOS, Windows
- 特徴: Macユーザーに人気の無料クライアントソフトですが、Windows版もあります。FTP, SFTPに加え、WebDAVやAmazon S3, Dropboxなどのクラウドストレージにも対応しているのが特徴です。シンプルなインターフェースで初心者でも使いやすいです。
- FFFTP (エフエフエフティーピー)
- 対応OS: Windows
- 特徴: かつてWindows向けFTPクライアントの定番として非常に多くのユーザーに利用されていました。現在は開発が終了し、後継プロジェクトが引き継いでいます。日本語対応で使いやすいですが、SFTPには対応していません。
- コマンドラインFTPクライアント:
- 対応OS: Windows, macOS, Linuxの標準機能として搭載されていることが多いです。
- 特徴: GUIではなく、コマンド(テキスト入力)で操作します。初心者には敷居が高いですが、FTPの仕組みを理解するには役立ちます。スクリプトなどでの自動化にも利用できます。
この記事では、最もポピュラーで多機能なFileZillaを例に、具体的な使い方を解説します。
7.3. FileZillaを使ったFTP/SFTP接続とファイル操作
7.3.1. FileZillaのダウンロードとインストール
- FileZillaの公式サイト(
https://filezilla-project.org/
)にアクセスします。 - ダウンロードページで、お使いのOS(Windows, macOSなど)に対応した「FileZilla Client」をダウンロードします。無料版は「Download FileZilla Client」ボタンから入手できます。
- ダウンロードしたファイルを実行し、インストーラーの指示に従ってインストールします。特別な設定は不要な場合が多いです。
7.3.2. FileZillaの基本画面
FileZillaを起動すると、通常、以下のような画面が表示されます。
+-------------------------------------------------+
| ホスト: [ ] ユーザー名: [ ] パスワード: [ ] ポート: [ ] [ クイック接続 ] |
+-------------------------------------------------+
| |
| ログウィンドウ (サーバーとの通信ログが表示) |
| |
+-------------------------------------------------+
| +-----------------+ +-----------------+ |
| | ローカルサイト | | リモートサイト | |
| | (自分のPCのファイル) | (サーバー上のファイル) | |
| | | | | |
| +-----------------+ +-----------------+ |
| |
| 転送キュー (現在転送中のファイルや待機中のファイル) |
| |
+-------------------------------------------------+
- クイック接続バー: 画面最上部にあり、ホスト、ユーザー名、パスワード、ポート番号を入力して一時的に接続するための領域です。
- ログウィンドウ: サーバーとの通信履歴(コマンドと応答)がリアルタイムで表示されます。接続トラブルの原因特定などに役立ちます。
- ローカルサイト: 自分のコンピューターのファイルやディレクトリがツリー形式で表示されます。
- リモートサイト: 接続中のFTPサーバー上のファイルやディレクトリがツリー形式で表示されます。
- 転送キュー: アップロードまたはダウンロードを待機しているファイル、現在転送中のファイル、転送完了/失敗したファイルの一覧が表示されます。
7.3.3. サーバーへの接続方法(クイック接続)
一番簡単な接続方法です。
- クイック接続バーに、サーバー情報(ホスト名、ユーザー名、パスワード、必要であればポート番号)を入力します。
- ホスト: FTPサーバーのホスト名またはIPアドレス
- ユーザー名: FTPユーザー名
- パスワード: FTPパスワード
- ポート: FTPなら21、SFTPなら22など。指定がない場合は空欄でも自動判別されることがあります。
- [クイック接続] ボタンをクリックします。
- 接続に成功すると、リモートサイトの領域にサーバー上のファイルやディレクトリが表示されます。ログウィンドウには接続成功を示すメッセージが表示されるはずです。
- もし接続に失敗した場合は、ログウィンドウにエラーメッセージが表示されます。入力した情報が間違っているか、ファイアウォールなどの問題が考えられます。
7.3.4. サーバーへの接続方法(サイトマネージャー)
頻繁に接続するサーバーの情報は、サイトマネージャーに保存しておくと便利です。
- メニューバーの [ファイル] → [サイトマネージャー] を選択します。
- サイトマネージャーウィンドウが開いたら、[新しいサイト] ボタンをクリックします。
- 左側のリストに新しいサイトが追加されるので、分かりやすい名前をつけます(例: 「My Website Server」)。
- 右側の設定項目を入力します。
- ホスト: FTPサーバーのホスト名またはIPアドレス
- ポート: ポート番号
- プロトコル: FTP (File Transfer Protocol), SFTP (SSH File Transfer Protocol) などから選択します。
- 暗号化: FTPSの場合に「明示的なFTP over TLSを要求」などを選択します。FTPやSFTPの場合は適切なものが自動的に選ばれます。
- ログオンタイプ: 「標準」(ユーザー名とパスワードを入力)を選択するのが一般的です。「匿名」(匿名FTP)や「インタラクティブ」(接続時にパスワード入力)なども選択できます。
- ユーザー名: FTPユーザー名
- パスワード: FTPパスワード
- その他のタブ(転送設定、詳細設定など)では、パッシブモード/アクティブモードの設定(通常は「パッシブモードを使用」のまま)や、ローカル/リモートの開始ディレクトリなどを設定できますが、最初はデフォルトのままで構いません。
- [接続] ボタンをクリックすると、設定した内容でサーバーに接続できます。次回からはサイトマネージャーを開いて、保存したサイトを選択し、[接続] ボタンを押すだけで接続できるようになります。
7.3.5. ファイルのアップロードとダウンロード
接続が完了すれば、ファイルのアップロード(ローカル → リモート)とダウンロード(リモート → ローカル)が簡単に行えます。
- ドラッグ&ドロップ:
- ローカルサイトのファイルやディレクトリを、リモートサイトの目的の場所へドラッグ&ドロップすると、アップロードが開始されます。
- リモートサイトのファイルやディレクトリを、ローカルサイトの目的の場所へドラッグ&ドロップすると、ダウンロードが開始されます。
- 右クリックメニュー:
- ファイルやディレクトリを右クリックし、メニューから「アップロード」または「ダウンロード」を選択します。
- ファイルを選択して「ダウンロード」を選ぶと、ローカルサイトで現在開いているディレクトリにダウンロードされます。
- ローカルサイトでファイルを選択して「アップロード」を選ぶと、リモートサイトで現在開いているディレクトリにアップロードされます。
複数のファイルやディレクトリをまとめて選択して転送することも可能です。転送中のファイルは転送キューに表示されます。
7.3.6. その他のファイル操作
- ディレクトリの作成: リモートサイトの領域で右クリックし、「ディレクトリを作成」を選択します。新しいディレクトリ名を入力して作成します。
- ファイル・ディレクトリ名の変更: リモートサイトのファイルやディレクトリを右クリックし、「名前を変更」を選択します。新しい名前を入力して変更します。
- ファイル・ディレクトリの削除: リモートサイトのファイルやディレクトリを右クリックし、「削除」を選択します。確認メッセージが表示されるので、問題なければ削除します。
- パーミッションの変更: リモートサイトのファイルやディレクトリを右クリックし、「ファイルのパーミッション」または「属性」を選択します。数字(例: 644, 755など)またはチェックボックスでパーミッションを設定できます。Webサイトのファイルなどでは重要な設定です。
7.3.7. 転送モード(バイナリモードとアスキーモード)
FTPには、転送するデータの種類に応じて「バイナリモード」と「アスキーモード」という2つの転送モードがあります。ほとんどのFTPクライアントソフトは自動的に適切なモードを判別してくれますが、手動で設定する必要がある場合や、仕組みを知っておくと役立ちます。
- バイナリモード: 画像ファイル、圧縮ファイル(ZIP, LHAなど)、実行ファイル、動画ファイルなど、テキスト以外のすべての種類のファイル転送に適しています。ファイルのビット列をそのまま転送します。
- アスキーモード: テキストファイル(HTMLファイル、CSSファイル、PHPファイルなど)の転送に適しています。これは、オペレーティングシステムによってテキストファイルの改行コードが異なる(WindowsはCR+LF、Unix/LinuxはLFなど)問題を吸収するためです。アスキーモードで転送すると、FTPクライアントとサーバーが互いのOSに合わせて自動的に改行コードを変換してくれます。
注意点: テキストファイルをバイナリモードで転送したり、バイナリファイルをアスキーモードで転送したりすると、ファイルが破損したり、正しく動作しなくなったりする可能性があります。特にWindowsとLinux/Unixサーバー間でテキストファイルをやり取りする場合は、アスキーモードが重要です。多くのクライアントソフトはファイル拡張子などで自動判別しますが、もし問題が発生する場合は手動でモードを切り替えてみてください。
FileZillaでは、メニューの [転送] → [転送タイプ] から選択できます。通常は「自動」で問題ありません。
7.3.8. 接続がうまくいかない場合のトラブルシューティング
- サーバー情報の確認: ホスト名、ポート番号、ユーザー名、パスワードが正確に入力されているか再確認します。大文字・小文字も正確に入力してください。
- プロトコルの確認: FTP, SFTP, FTPSのどれで接続すべきか確認し、FileZillaのサイトマネージャーで正しく選択しているか確認します。SFTPなのにFTPで接続しようとしていないか、FTPSなのにFTPで接続しようとしていないかなどです。
- ポート番号の確認: 標準ポート(FTP:21, SFTP:22, FTPS:21 or 990)から変更されていないか確認します。
- ファイアウォールの確認:
- 自分のPCのファイアウォール: FileZillaなどのFTPクライアントソフトからの通信がブロックされていないか確認します。必要に応じて例外設定を行います。
- ネットワーク上のファイアウォール: 会社や学校のネットワークなど、組織のファイアウォールによってFTP通信が制限されている場合があります。ネットワーク管理者に問い合わせる必要があります。
- サーバー側のファイアウォール: 接続しようとしているサーバーのファイアウォールが、自分のPCからの接続をブロックしている可能性があります。サーバー管理者に問い合わせる必要があります。
- 転送モードの切り替え: 特にデータ転送が始まらない場合は、パッシブモードとアクティブモードを切り替えてみます。多くの環境ではパッシブモードが適していますが、サーバー側の設定によってはアクティブモードでないと接続できない場合もあります。FileZillaではサイトマネージャーの「転送設定」タブで変更できます。
- サーバー側の状態確認: 接続しようとしているFTPサーバーが正常に稼働しているか、メンテナンス中でないかなどをサーバー管理者に確認します。
7.4. その他のクライアントソフトについて
- WinSCP: Windowsユーザーにとって、FileZillaと同様に非常に人気があります。見た目や操作感はFileZillaと似ていますが、SCPプロトコルに対応している点が特徴です。Windowsのエクスプローラーとの連携機能なども便利です。
- Cyberduck: Macユーザーには特に親しみやすいインターフェースです。クラウドストレージへの接続機能が必要な場合は強力な選択肢となります。
- FFFTP: 非常に古くから利用されているWindows向けFTPクライアントです。シンプルな使い勝手ですが、SFTPに対応していないため、セキュリティを重視する場合は避けるべきです。ただし、匿名FTPサーバーなど、SFTP/FTPSに対応していない古いFTPサーバーに接続する必要がある場合は選択肢となります。
どのクライアントソフトを使うかは個人の好みですが、セキュリティを考慮し、SFTPまたはFTPSに対応しているものを選ぶことを強く推奨します。
8. FTPサーバーを自分で立てる(入門編)
上級者向けの内容になりますが、FTPの仕組みをより深く理解するために、FTPサーバーを自分で立てるという方法もあります。自宅のPCやサーバーマシンをFTPサーバーとして公開することで、ファイル共有や外部からのアクセスが可能になります。
ただし、インターネット上にFTPサーバーを公開することは、セキュリティリスクを伴います。特に従来のFTPは安全ではないため、もし公開する場合は、強力なパスワードを設定したり、特定のIPアドレスからのみ接続を許可したりといった対策が不可欠です。また、SFTPやFTPSで公開することを検討すべきです。
8.1. サーバーOSの選択
- Windows: 標準機能(IIS)でFTPサーバーを構築できます。FileZilla Serverなどのサードパーティ製ソフトも利用できます。GUIでの設定が容易です。
- Linux: vsftpd (very secure FTP daemon) や ProFTPD など、高機能なFTPサーバーソフトウェアが多数提供されています。設定はテキストファイルを編集して行うことが一般的ですが、柔軟な設定が可能です。SSHサーバーも標準でインストールされていることが多く、SFTP環境も容易に構築できます。
8.2. 代表的なFTPサーバーソフトウェア
- FileZilla Server (Windows): FileZilla Clientと同じ開発元が提供する無料のFTP/FTPSサーバーソフトです。GUIで設定でき、導入が比較的容易です。
- IIS (Internet Information Services) (Windows Server): WindowsのWebサーバー機能ですが、FTP Publishing Serviceを追加することでFTPサーバーとしても機能します。Active Directoryとの連携などが可能です。
- vsftpd (Linux): セキュリティを重視して設計された軽量なFTPサーバーです。多くのLinuxディストリビューションで標準またはデフォルトでインストールされます。
- ProFTPD (Linux): 高機能で柔軟な設定が可能なFTPサーバーです。Apacheの設定ファイルに似た構文で設定できます。
8.3. 簡単な設定の流れ(概念)
FTPサーバーソフトウェアの種類によって設定方法は異なりますが、一般的には以下のステップが必要です。
- ソフトウェアのインストール: サーバーOSにFTPサーバーソフトウェアをインストールします。
- ユーザーアカウントの作成/設定: FTPでアクセスするユーザーアカウントを作成し、パスワードを設定します。特定のOSユーザーと紐付ける場合や、FTP専用の仮想ユーザーを作成する場合があります。
- ホームディレクトリの設定: 各FTPユーザーがログインした際に最初に表示されるディレクトリ(ホームディレクトリ)を指定します。
- アクセス権限の設定: 各ユーザーに対して、どのディレクトリへのアクセスを許可するか、読み取り専用か、書き込みも許可するかなどの権限を設定します。
- ポート番号の設定: 制御コネクションやデータコネクション(特にパッシブモード用のポート範囲)に使用するポート番号を設定します。標準ポートから変更することも可能ですが、クライアント側もそのポートに合わせて接続する必要があります。
- ファイアウォールの設定: サーバー側のファイアウォールで、FTP(またはSFTP/FTPS)に使用するポートへの外部からのアクセスを許可する設定を行います。アクティブモードとパッシブモードの両方に対応する場合は、データコネクション用のポート範囲も開放する必要があります。SFTPの場合はSSHポート(22番)だけを開放すれば良いので比較的容易です。
- (オプション)SSL/TLS設定 (FTPSの場合): SSL証明書を用意し、FTPSで暗号化通信を行うための設定を行います。
- (オプション)SSH設定 (SFTPの場合): SSHサーバーが稼働していることを確認し、SFTP接続を許可する設定を行います。
8.4. 自宅サーバーをインターネットに公開する際のリスクと注意点
- セキュリティリスク: 不適切な設定やセキュリティ対策の不足は、不正アクセスや情報漏洩の危険に繋がります。特にユーザー名とパスワードの使い回しや、推測されやすいパスワードは絶対に避けるべきです。従来のFTPをインターネットに公開することは、パスワード盗聴のリスクがあるため非推奨です。SFTPまたはFTPSを利用しましょう。
- 固定IPアドレス: 通常、家庭用インターネット回線は動的にIPアドレスが割り当てられるため、サーバーのIPアドレスが変わってしまう可能性があります。DDNS (Dynamic DNS) サービスを利用して、常に同じホスト名でアクセスできるようにするなどの対策が必要です。
- ポート開放: ルーターのポート転送設定(ポートフォワーディング)を行い、外部からのFTP/SFTP/FTPSポートへのアクセスをサーバーに誘導する必要があります。
- 可用性: サーバーとして利用するPCは常に起動しておく必要があります。また、インターネット回線の安定性も重要です。
自宅でFTPサーバーを立てるのは、技術的な好奇心や学習目的には良いですが、本格的な運用や機密性の高いファイルのやり取りには、専門業者の提供するレンタルサーバーやクラウドサービスを利用する方が、セキュリティ、安定性、管理の手間を考慮すると現実的です。
9. FTPの代替技術:現代のファイル転送手段
FTPは古くからある技術ですが、現在では様々なファイル転送や共有の手段が存在します。FTPの利用シーンによっては、より適した代替技術があるかもしれません。
- SFTP / FTPS: 前述の通り、FTPのセキュリティを強化した最も一般的な代替手段です。FTPを使う場面(Webサイトのアップロードなど)では、可能な限りSFTPまたはFTPSに置き換えるべきです。
- SCP (Secure Copy Protocol): SSH上で動作するファイルコピー専用のプロトコルです。SFTPよりもシンプルで、ファイルやディレクトリのコピー機能に特化しています。基本的なファイル転送だけであれば、SCPでも十分な場合があります。コマンドラインでの利用が一般的ですが、WinSCPなどのクライアントソフトでも対応しています。
- WebDAV (Web-based Distributed Authoring and Versioning): HTTPプロトコルを拡張し、Webサーバー上のファイルをリモートから管理(作成、編集、削除、移動など)できるようにしたプロトコルです。Webサイトのコンテンツ管理などで利用されることがあります。FTPと似たファイル操作がGUIで行えるクライアントソフト(Cyberduckなど)もあります。HTTP上で動作するため、ファイアウォールの設定が比較的容易な場合があります。
- クラウドストレージの同期・共有機能: Dropbox, Google Drive, OneDrive, Boxなどのクラウドストレージサービスが提供する同期ツールやWebインターフェース、共有機能は、一般ユーザー間のファイル共有や個人利用におけるファイル同期の主流となっています。これらのサービスは、裏側で独自のプロトコルやHTTPSなどを利用しており、ユーザーはプロトコルを意識することなく直感的にファイルを管理できます。ただし、サーバー側のディレクトリ構造を直接操作したり、パーミッションを設定したりといったFTPのような低レベルな操作はできません。
- ネットワークファイルシステム (NFS, Samba/CIFS): 主にローカルネットワーク内で利用されるファイル共有プロトコルです。NFSはUnix/Linux系で、Samba/CIFSはWindows系でよく使われます。リモートのコンピューターのファイルシステムを、ローカルのファイルシステムのようにマウントして直接操作できます。FTPのように明示的にアップロード・ダウンロード操作をするのではなく、ファイルコピーや編集がシームレスに行えます。インターネット経由での利用はセキュリティリスクが高いため、通常はVPNなどで安全な通信路を構築した上で行います。
- HTTP/HTTPS: Webブラウザでファイルをダウンロードする際に使用されるプロトコルです。Webサーバーから不特定多数にファイルを配布する用途に適しています。大きなファイルのダウンロードには、レジューム機能(ダウンロード中断からの再開)に対応したダウンローダーが使われることもあります。アップロードもHTMLのフォームやPUTメソッドなどで可能ですが、FTPほど汎用的ではありません。
FTPは、これらの代替技術が登場する遥か以前から存在し、サーバー管理やWebサイトのファイル操作といった特定の分野で今なお利用され続けています。しかし、特にセキュリティ面での懸念から、新しいシステムや、機密情報を扱う場面では、より安全なSFTPやFTPS、あるいは他の適切な代替技術を選択することが重要です。
10. FTPに関するよくある質問 (FAQ)
Q1. FTPとHTTPの違いは何ですか?
A. どちらもインターネット上でファイルをやり取りするためのプロトコルですが、目的と仕組みが異なります。
* HTTP (Hypertext Transfer Protocol): 主にWebブラウザとWebサーバーの間で、Webページ(HTMLファイル、画像ファイル、スタイルシートファイルなど)を送受信するために使われます。クライアント(ブラウザ)がサーバーに要求を送り、サーバーがデータ(Webページの内容)を返す、という単方向の通信が基本です。一度の通信で接続が切れるのが一般的です(Keep-Aliveなど例外もあります)。使用ポートは標準で80番(HTTP)または443番(HTTPS)です。
* FTP (File Transfer Protocol): ファイルのアップロード・ダウンロード、ディレクトリ作成・削除など、ファイルそのものの管理・操作を目的としたプロトコルです。双方向のファイル転送が可能です。セッション中は制御コネクションが維持され、必要に応じてデータコネクションを確立します。使用ポートは標準で21番(制御)、20番または動的ポート(データ)です。
簡単に言うと、HTTPは「Webページを見る(≒ファイルを取得する)」ことに特化しており、FTPは「ファイルを管理する(アップロード、ダウンロード、削除など)」ことに特化している、と言えます。
Q2. FTPとSFTP/FTPSのどちらを使えばいいですか?
A. セキュリティを重視するなら、SFTPまたはFTPSを使うべきです。特にパスワードやファイルデータが盗聴されるリスクを回避したい場合は必須です。
* SFTP: SSHの上で動作し、通信全体が暗号化されます。単一のポート(22番)を使うため、ファイアウォール設定も比較的容易です。一般的に推奨される安全なファイル転送手段です。
* FTPS: FTPにSSL/TLSによる暗号化を追加したものです。FTPのコマンド体系が使えますが、2つのコネクションを使い、ファイアウォール設定が複雑になる場合があります。
サーバー側がSFTPとFTPSのどちらに対応しているかによって選択することになりますが、可能であればSFTPを選ぶ方がシンプルで安定しやすい傾向にあります。従来のパスワード認証による無印FTPは、インターネットに公開して利用すべきではありません。
Q3. アクティブモードとパッシブモードの違いは何ですか?
A. データコネクションをどちらが確立するか、という違いです。
* アクティブモード: 制御コネクション確立後、サーバーがクライアント側の特定のポートに接続要求を送ってデータコネクションを確立します。クライアント側のファイアウォールにブロックされやすいという問題があります。
* パッシブモード: 制御コネクション確立後、クライアントがサーバー側のランダムなポートに接続要求を送ってデータコネクションを確立します。クライアント側からサーバーへの接続となるため、クライアント側のファイアウォールを通過しやすく、現代のインターネット環境では一般的です。
多くのFTPクライアントソフトのデフォルト設定であるパッシブモードを使用することが推奨されます。
Q4. FTP接続ができません。どうすればいいですか?
A. 以下の点を確認してください。
* 入力した接続情報(ホスト名、ポート番号、ユーザー名、パスワード)が正確か。
* プロトコル(FTP, SFTP, FTPS)の選択が正しいか。
* サーバー側のFTP/SFTP/FTPSサービスが稼働しているか。
* 自分やサーバー側のファイアウォールが接続をブロックしていないか。FTP/FTPSの場合は、制御ポート(21または990)だけでなく、データコネクション用のポートも開放されている必要があるか確認します。
* 特にFTP/FTPSの場合、接続モードをアクティブモードとパッシブモードで切り替えて試してみる。
* サーバー管理者に問い合わせて、サーバーの状態や接続情報を再確認する。
Q5. 転送モード(バイナリ/アスキー)を間違えるとどうなりますか?
A.
* テキストファイルをバイナリモードで転送: WindowsとLinux/Unix間など、OS間で改行コードが異なる環境の場合、改行コードが変換されずにそのまま転送されます。これにより、ファイルを開いたときに改行が正しく表示されなかったり、プログラムファイルが正しく動作しなくなったりする可能性があります。
* バイナリファイル(画像、実行ファイルなど)をアスキーモードで転送: ファイルの内容が意図せず改変される可能性があります。改行コードの変換処理などによって、ファイルが破損し、正しく開けなくなったり、実行できなくなったりします。
多くのFTPクライアントソフトは自動判別機能を持っていますが、特に問題が発生した場合は、転送するファイルの種類に合わせて手動でモードを設定する必要があります。
Q6. Anonymous FTPとは何ですか?
A. ユーザー名に “anonymous” または “ftp” を、パスワードに任意の文字列(慣例としてメールアドレスなど)を入力することで、特定のサーバーに認証なしでアクセスできる仕組みです。主に不特定多数のユーザーにファイルを公開するために使用されます。現在では、セキュリティ上の懸念から、ファイル公開の手段としてはHTTPSによる配布やクラウドストレージなどが主流になっており、Anonymous FTPの利用は減少しています。
11. まとめ:FTPは過去の技術か?それとも?
この記事では、FTPとは何か、その基本的な仕組みからアクティブ/パッシブモードの違い、ファイル操作の方法、そして最大の問題点であるセキュリティリスクと、その代替となるSFTP/FTPSについて詳しく解説しました。
FTPはインターネットの黎明期から存在する非常に古いプロトコルです。そのシンプルさと使い勝手から長年にわたって広く利用されてきましたが、セキュリティ対策が十分でないという致命的な弱点を抱えています。特にパスワードやファイルデータが平文で流れるという点は、現代のセキュリティが求められる環境では大きなリスクとなります。
したがって、現在ではセキュリティを必要とするファイル転送においては、FTPではなくSFTPまたはFTPSを使用することが強く推奨されます。多くのレンタルサーバーやクラウドサービスでも、FTPの代わりにSFTPやFTPSが標準のファイル転送手段として提供されています。
しかし、FTPの仕組み(クライアント/サーバーモデル、制御とデータの分離、ポートの考え方、モードの違いなど)を理解することは、SFTPやFTPSを含む他の多くのネットワークプロトコルや通信の仕組みを理解する上でも非常に役立ちます。また、匿名FTPサーバーなど、限られた特定の用途で今なおFTPが利用されている場面もあります。
FTP自体は徐々に過去の技術となりつつありますが、その基本的な考え方はファイル転送プロトコルの礎であり、インターネット技術の歴史を知る上でも重要な存在です。
もしあなたがWebサイトの公開やサーバー上のファイル操作を行う必要があるならば、まずはFTPではなく、提供されているサーバーがSFTPまたはFTPSに対応しているかを確認し、それらのより安全なプロトコルを利用することから始めましょう。 FileZillaなどの多機能なクライアントソフトを使えば、FTPもSFTPもFTPSも同じような操作感で利用できます。
この記事を通じて、あなたがFTPとその周辺技術について理解を深め、安全なファイル転送を実現できるようになることを願っています。