FTPはサーバーとファイル通信を行う機能

インターネット

最近はWordPressなどのCMS(ブログ投稿システム)を利用してWebサイトを運用するケースが増えており、昔ほど頻繁にFTPが使われなくはなってはいますが、まだまだ重要なツールです。
FTPとはサーバーとのファイルの送受信を行う通信機能の一つですが、一体どの様な仕組みかを説明して行きます。

FTPの概要

FTP (File Transfer Protocol) は、インターネット通信上のファイル転送プロコトル※1です。手短に説明すると、型が決まった「コマンド」と呼ばれる処理命令を使って、クライアント(パソコン)からサーバーにHTMLや画像のファイルをアップロード・ダウンロード、Webサーバーからソフトウェアを配布、サーバー上のファイルの管理権限を変更したりなどの操作が行えます。

※1:コンピューター同士のネットワーク通信に関する決まり事です。

FTPコマンドの一例

open 指定サーバーへの接続
user サーバーへのユーザー名認証
mdk サーバーでフォルダを作成
stor ファイルをアップロード
dele サーバーのファイルを削除

表が見切れている場合、横スクロールできます

FTPコマンドの実行例

FTPコマンドの実行には、Windowsの「コマンドプロンプト」や「コマンドライン」のツールを利用します(Macはターミナルで行えましたが、最新のOSは未対応となりました)。コマンドの入力は全てテキストです。
例えば、サーバーにログインするとしましょう。

C:\>ftp 157.7.184.35 ①
ftp> open ftp 157.7.184.35
Connected to 157.7.184.35.
220 157.7.184.35 FTP server ready
Name (157.7.184.35:vagrant): example ②
331 Password required for example
Password: ********** ③
230 User admin logged in
Remote system type is UNIX.
  • ① IPアドレスもしくは、ホスト名(FQDN)を入力してアクセスします。
  • ② サーバーが見つかるとユーザー名を求めてきます。
  • ③ サーバー側でユーザー名が確認できると、パスワードを求めてきて…

と、対話形式で行われます。

FTPクライアントソフト

操作の度にFTPのコマンド通信を行うのは煩わしいものです。そこで登場したのが、FTPクライアントソフトです。FTPソフトはサーバーへのコマンドを視覚的に操作でき、サーバーとのデータ送受信を効率良く遂行してくれるソフトウェアです。
FTPソフトを使ったことがある方ならご存知かと思いますが、サーバーへのファイルのアップロードは、パソコン上のファイルを選択して、アップロード先の領域にドラッグ&ドロップするだけです。FTPコマンドの知識がなくても簡単に実現できます。

FFFTPの画面

上述の実行例も、ショートカットキーを登録して、ダブルクリックするだけでサーバーに接続できます。しかし、実際は裏側で記述のコマンド(命令)のやり取りが行われているのです。

代表的なFTPソフト

FFFTP インターネット黎明期からある、最も有名なソフトです。 Windows
WinSCP Windows 専用の、高セキュリティを誇るソフトです。 Windows
FileZilla 多機能で安定していますが、中級者以上向けです。 Windows / Mac
Cyberduck シンプルで使いやすい、初心者向けのソフトです。 Windows / Mac

表が見切れている場合、横スクロールできます

FTPを実行するFTPサーバー

HTMLファイルをアップロードする際、いきなりWebサーバーに接続するのではなく、FTPコマンドが実行可能な「FTPサーバー」を介してデータの送信を行います。

FTPサーバーと聞くとわざわざ専用サーバーを立てるみたいに大袈裟に感じますが、サーバー内にFTPサービスを構築するソフトウェア(vsftpd や ProFTPD が有名)がインストールされている環境と考えてください。通常は1台のサーバーにFTPとWebのシステムを稼働させておき、HTMLをアップロードして、そのままWeb ページとして公開します。

ユーザーに対して特定の領域を付与すると、アクセス権限を持つユーザーはそこにデータをアップロードしたり、ファイルのパーミッション※2の設定が可能になります。ユーザーに付与されたエリアのみ覗くことが可能で、他者の領域は見ることができません。

※2:インターネット上のサーバーのファイルやディレクトリに対するアクセス権限です。

ポート番号

インターネット上を通信するデータには、「ポート番号」と呼ばれる識別番号が割り振られます。ポート番号は、送られてきたデータをどのソフトウェアに届けるかの判断をする宛名書の様なものです。コンピューター内ではいくつものソフトウェアが動作しているので、正しく処理する為です。

20番 データの転送
21番 データの制御(接続したり、転送形式を決める)

表が見切れている場合、横スクロールできます

21番でFTPサーバーにログインして、20番でファイルの送受信を行います。

モード

アクティブモード サーバーからデータコネクションを開始する。
パッシブモード FTPクライアントからデータコネクションを開始する。

表が見切れている場合、横スクロールできます

外部(サーバー)からのアクセスは、ファイアウォール越しだと接続が断たれてしまいます。その場合は、パッシブモードにすると接続が確立します。

FTP通信の欠点

クライアントとサーバー間の通信が暗号化されずそのまま行われるので、FTPサーバーへ接続する際のアカウントやパスワードが第三者に傍受されてしまいます。これはWebサイトへの不正アクセスやデータ改竄に繋がります。
必ず現在のFTPソフトに備わっている、セキュリティ対策を施された通信方式を選択してください。

通信方式の違い

FTP File Transfer Protocol FTP通信内容はそのままやりとりされます。
SFTP SSH File Transfer Protocol SSH※3によってFTPの通信内容の暗号化が行われています。
FTPS File Transfer Protocol over SSL/TLS SSLによってFTPの通信内容の暗号化が行われています。
SCP Secure Copy Protocol SSHによる、FTP通信の高度な暗号化を行います。

表が見切れている場合、横スクロールできます

※3:SSH (Secure Shell) は通信を暗号化して、サーバーなどをコマンドで遠隔操作するためのプロコトルです。

おわりに

普段何気なく使っているFTPソフトの機能について理解できたでしょうか?
ここまで述べた内容を要約すると…

  • インターネット通信上では、FTPコマンドを使ってファイルの転送を行える。
  • FTPソフトはコマンドを知らなくても、視覚的にファイルのアップロードや権限の変更が可能。
  • Webサーバーではなく、FTPコマンド操作が可能な、FTPサーバーを介しています。
  • FTP通信は安全性が低いので、セキュリティ対策されたSFTPやFTPS通信方式の利用を推奨。

多くのFTPソフトは操作時にサーバーとの対話が表されるので、コマンド処理の実行を観察することができます。

vd誘導バナー

Posted by admin-dev


service

Value Domain
ドメイン取得&レンタルサーバーなら
Value Domain
ドメイン登録実績600万件を誇るドメイン取得・管理サービスと、高速・高機能・高品質なレンタルサーバーや、SSL証明書などを提供するドメイン・ホスティング総合サービスです。