文中の説明画像をクリックすると拡大します。
FTPって何?
FTPとは、サーバーとクライアントの間でファイルを送受信する通信の手続きのことを言います。
FTPは、「File Transfer Protocol」の略語です。
最後の「Protocol」は「プロトコル」と読み、サーバーとクライアント間でファイルを送受信する通信の決まりごと、2台のコンピューターの間で通信をするために必要な通信手続きのことを表しています。
FTPと似た言葉に、HTTPというものがありますが、HTTPは「Hyper Text Transfer Protocol」の略です。これはWebサーバーとブラウザの間でやり取りされる通信手続きです。
HTTPもFTPも似たような通信をしていますが、プロトコルの名前が違うように、これらは異なる方法で通信をしています。
FTPで出来ること
FTPを使う事で、自分のパソコンにあるファイルをWebサーバーに転送できます。
よく「Webサイトにアップロードする」という言葉を使うことがあるかもしれませんが、ここで言う「アップロード」という作業がFTPの役割ということになります。
逆に、FTPを使ってWebサイト上にあるファイルを自分のパソコンに取り込むこともできます。これは「ダウンロード」という言葉で表現されます。
サーバー上に会ったファイルをパソコンに取り込んでローカル(パソコン上)で編集したり、Webサイトのデータのバックアップをするときなどに、ダウンロードしますね。
FTPで出来ることをまとめると、以下の2つになります。
- 自分のパソコンからサーバーに、ファイルをアップロードする
- サーバーから自分のパソコンに、ファイルをダウンロードする。
FTPの使い方
FTPそのものは、コマンドで動作させることが可能です。Windowsなら、DOSプロンプト(黒い画面)を使ってFTPサーバーと接続させることができます。
しかし、一般的にはFTPクライアントと呼ばれる専用のソフトウェア(FFFTPなど)を使って接続することが多いです。
そして、FTP接続するために最低限必要な情報は以下の3つです。
- 接続先のサーバーのホスト名(IPアドレス)
- ユーザー名
- パスワード
これらの情報をFTPクライアントに設定して、FTP接続を行うことになります。
WordPressでWebサイトやブログを開設するときに、レンタルサーバーの契約をすると思いますが、その時にFTPに関する情報を入手する必要があります。
なお、レンタルサーバー会社によっては、サーバーの管理画面でFTPアカウントを自分で作らないといけない所もあります。
FTPアカウントの作成方法や、その他の情報をFTPクライアントに設定する方法などは、レンタルサーバー会社のマニュアルなどを参考にしてください。
FTPのセキュリティ対策
「FTPはセキュリティに弱い」
ネットワークに詳しい人は、このような事を言ってFTPを使用することをできるだけ避けてきました。職場によっては、FTP接続を強制的に使えなくしているところもあったくらいです。
FTPにおけるセキュリティ上の一番の問題点は、ログインに使われる「ユーザー名」と「パスワード」の文字列が暗号化されないで、そのままネットワーク上を流れてしまう点です。
そのような状況はかなり長く続いていますが、現在でもFTPはファイルの送受信に使われています。
そこで、安全にファイルの送受信ができるようにと、FTPにセキュリティ機能をプラスした新しい通信方式がいくつか実装されました。
それが「FTPS」「SFTP」「SCP」の3つです。
FTPS(File Transfer Protocol over SSL/TLS)
FTPSは、SSL/TLS(現在はTLS)を用いて通信を暗号化します。
ブラウザでWebサイトを見るときに、アドレス欄に「https://~~」となっているのを見たことがあるかもしれませんが、これはWebサイトを見るときの通信が暗号化されいるサーバーであることを表しています。
FTPSはそれのFTP版です。
FTPSを使うことで、通信内容を暗号化してやり取りできます。
SFTP(SSH File Transfer Protocol)
SFTPは、SSH(セキュアシェル)と呼ばれる技術を使って通信を暗号化します。
SSHについてはここでは詳しく説明しませんが、簡単に言うと通信を暗号化させるためのプロトコルの一つです。
SSHは、FTPだけでなく、他のプロトコルでの通信においても暗号化させた通信を可能にします。このSSHをFTPに応用したものがSFTPです。
SCP(Secure Copy)
SCP(セキュアコピー)も、SSHを使用して通信内容を暗号化させます。
SFTPとの違いはあまりありませんが、SCPの方が機能がシンプルで高速で動作します。
しかし、SFTPとは違ってフォルダの転送は出来ず、途中終了した転送を再開させる機能はありません。
最近のレンタルサーバーでは、普通のFTPではなく、ここで紹介した3つの暗号化されたFTPを使うことになっているサーバーがほとんどです。
レンタルサーバーによってFTPS、SFTP、SCPのどれを使うのかは異なってきますので、実際に使用する場合はレンタルサーバーのマニュアルなどをご確認ください。
anonymous FTP(匿名FTP)とは
本来、FTPを使用するためには、ユーザー名とパスワードを使ってサーバーにログインする必要があります。
しかし、インターネットの世界には、ユーザー名もパスワードも入力しないで使える「anonymous FTP」というサービスがあります。
anonymous FTPでは、ユーザー名として「anonymous」という文字列を使うことが暗黙の了解となっています。
パスワードは何でもいいのですが、慣例として自身のメールアドレスを使うことが一般的です。
このanonymous FTPの使いどころですが、ファイルサイズの大きなOS(オペレーティングシステム)のインストールデータやフリーソフトの配布などで広く使われてきました。
FTPは、ファイルの転送に特化したプロトコルなので、HTTPよりも速いファイル転送が可能だったからです。
最近は、インターネットの回線そのものが速くなり、サーバーのハードウェアの性能などが向上したため、あまりanonymous FTPは使われなくなりました。
現在では、大きなサイズのファイルをダウンロードする時にも、普通にインターネットを使う時に使用するブラウザで事足りるようになっています。
Windowsで動作するFTPクライアント
Windowsで動作するFTPクライアントの代表的なものを、2つ紹介します。
ここでは、FTPクライアントと記載していますが、実際にはFTPS、SFTP、SCPに対応しているものも含まれます。
FFFTP
Windowsで動作する、FTPクライアントの中では有名な、無料で使えるソフトウェアです。
2010年からオープンソースになり、開発が進められてきましたが、現在公開されているバージョン2.0で更新終了となっています。
暗号化技術には、「FTPS」のみ対応しています。
【参考】FFFTP
WinSCP
「FTPS」「SFTP」「SCP」の3つの暗号化技術に対応している、無料で使えるFTPクライアントです。
暗号化への対応だけでなく、通信ソフトとして多彩な機能が用意されています。現在でも開発が進められており、Windowsで動作するFTPクライアントとしては最もおすすめのソフトウェアです。
【参考】WinSCP
MACおよびWindowsとMAC両方で動作するFTPクライアント
MacOSで動作するFTPクライアントも、2つ紹介します。
Cyberduck
サイバーダックと読みます。WindowsとMacの両方のバージョンがあります。「FTPS」「SFTP」「SCP」の3つの暗号化方式に対応しています。
公式サイトからダウンロードすれば無料で使えますが、App StoreやWindowsストアからダウンロードする場合は2,900円の費用がかかります。
寄付も受け付けているので、使ってみて気に入ったら寄付をするのも悪くないでしょう。
【参考】Cyberduck
FileZilla
FileZillaも、WindowsとMacの両方のバージョンを持つFTPクライアントです。
こちらも、「FTPS」「SFTP」「SCP」の3つ暗号化方式に対応しています。
環境によっては、Cyberduckの動作が遅い人もいるらしく、そのような人は乗り換え先としてFileZillaを使っているようです。
また、Cyberduckがワンペイン(ファイル一覧がサーバー側だけ表示される)なのに対し、FileZillaはツーペイン(サーバー側とクライアント側の両方のファイル一覧が表示される)方式なので、昔ながらの見た目のFTPクライアントが良いという方も、FileZillaを検討するとよいでしょう。
【参考】FileZilla
まとめ
- FTPとは、サーバーとクライアントの間でファイルの送受信を行うためのプロトコル(通信の決まりごと)。
- FTPの通信を暗号化するために、「FTPS」「SFTP」「SCP」の3つの技術がある。
- WindowsのFTPクライアントは、WinSCPがおすすめ。
- MacOSのFTPクライアントであるCyberduckとFileZillaは、Windows用もある。