個人でFTPサーバーを持っているので、他人にファイルの受け渡しをするときにしばしば利用するよう頼むんですが…。

意外とFTP クライアントの使い方って知れ渡っていないのです。パッとアドレスだけ渡しても分からない!という人も多々。
そのたびにヤレ何々っていうソフトウェアを落として、こういう風に設定して…と案内するのも面倒なので、案内ページを一つ作っておくことにしました。

はじめに

FTPって何よ?みたいな話もあるとは思うんですが、使い方を知るために必ずしもその知識は必要ではないので、詳細な基礎知識は便利なWikipediaにお任せして、ここでは簡単に。

「FTP」とは、大容量のファイルをやり取りするために「より速度を重視した」通信手段です。
そして、そのFTPを使って接続するためのソフトが「FTPクライアント」なわけです。

ファイルの送受信、というとWindows Live! メッセンジャーやSkypeのようなモノをイメージするかもしれません。
が、そういったものとはちょっと性質が違います。

ftp_image_00

Windows Live! メッセンジャーや、Skypeでは個人対個人で直接ファイルをやりとりすることができます。

FTPはむしろこれよりも「ファイルバンク (http://www.filebank.co.jp/)」 などの「オンラインストレージ」と呼ばれるものに近いものです。

(図はファイルバンクのWebサイト「ファイルバンクとは(http://www.filebank.co.jp/about/)」より転載。)

FTPの場合には、ファイルバンク自体に対応するところを「ホスト(サーバ)」、ユーザを「クライアント」と呼んで、クライアントたちはサーバに接続して、ダウンロードしたり、アップロードしたりすることができるわけです。

ftp_image_01

世の中にはたくさんのFTPのホストサーバがありますが、このホストサーバを利用するためには、サーバの所有者から色々な情報を教えてもらわないと利用することはできません。

ここでは、ホストサーバの所有者から、必要な情報を教えてもらったけれど、どうやってそこに接続して、ダウンロードやアップロードをすればいいの?ということを説明していきます。

使用条件

世の中には様々なFTPクライアントがありますが、ここでは個人的に愛用している「Filezilla client」を中心において、お話を進めさせていただきます。

  • FTPクライアント: Filezilla client → ダウンロード(別窓)
  • ホスト名: example.com
  • ポート: 21
  • サーバの種類: FTP
  • ユーザ名: user
  • パスワード: password
  • 転送モード: パッシブ
  • 文字コード: UTF-8

これらが与えられた条件だとします。
ホスト名?ポート?パッシブ?なんのこっちゃ?と思われるかもしれませんが。まあそういうモンがあって、それぞれこんな感じに指定されたからつながなきゃいけない場合、の話をここでは説明します。

場合によっては、項目の名前は違う言葉で条件を与えられる場合もあるかもしれません。
それぞれの項目が、どのような別名で呼ばれているかについては、「使用条件について」を読んでください。

まずはダウロード&インストール

何はともあれ、ソフトウェアを使うには、まず大抵の場合ダウンロード&インストールしなくてはなりません。

Filezilla clientのダウンロードページ

ですが、ここでは基本的に使い方中心の解説を行いますので、そのあたりの解説は他のページにお任せしたいと思います。特段インストールの難しいソフトではないので、インストールの仕方の分からない!という方は下のリンクから素晴らしい出来の解説サイトを見ていただければと思います。

Filezilla client の利用について

このページの「インストール」の部分だけ参考としてください。それ以降は一般の人にはあまり役に立たない情報です。

起動して接続してみよう

Filezillaを起動すると、このような画面が表示されます。

ftp_tips_00(画像をクリックで拡大)

さて、この画面からFTPで接続するためには、接続先の設定をする必要があります。

ftp_tips_01左上に、地球を背景にした端末のアイコンがあるので、これをクリックします。または、メニューの[ファイル(F)] – [サイトマネージャ...(S)] をクリックします。

すると、次のように接続先の管理画面が出ます。

ftp_tips_02(画像をクリックで拡大)

では、実際に設定を行っていきたいと思います。
接続先一覧の左下に、[新しいサイト(N)]ボタンがありますので、これをクリックします。すると、次の図のように、新しい接続先が作られて名前の入力状態になりますので、ここで自分の分かりやすい名前を設定します。

ftp_tips_03

ここでは例として「example」という名前に設定したことにしましょう。(もちろん日本語の方が分かりやすいというのであれば、日本語の名前にしても全く問題はありません)

さあ、接続先を新しく作ることはできました、これからここでは、先ほど挙げた「使用条件」に従って、接続先の設定を行っていきます。実際には、使用したいサーバーの条件をきちんと調べて、その条件に従って設定を行ってください。

*先の使用条件 (一部):

  • ホスト名: example.com
  • ポート: 21
  • サーバの種類: FTP
  • ユーザ名: user
  • パスワード: password
  • 転送モード: パッシブ
  • 文字コード: UTF-8

まず、右側の画面では[一般] 設定タブが開いています。ここでは、接続先の基本的な設定ができるので、上記条件の内ホスト名からパスワードまでを入力しましょう。実際に条件を入力した画面が、次の図です。

ftp_tips_04(画像をクリックで拡大)

一般的には、これだけで十分接続が可能です。しかし、サーバーによっては上記条件のように、「転送モード」や「文字コード」といった項目が加わることがあります。これらについては、それぞれ[転送設定]タブ、[文字セット]タブで次のように設定が可能です。

ftp_tips_05今回の場合、転送モードは[パッシブ]にする必要がありますが、文字コードについてはUTF-8がデフォルトなので、[自動判別(A)]のままで基本的には問題ありません。

この文字コードが間違っていると、次の図のようにファイル名が文字化けしたり、場合によっては一部のファイルが見えなくなったりします。そうなった場合には、[UTF-8を強制する(U)] または[カスタム文字セットを使う(c)] で正しい文字コードを指定してください。

ftp_tips_06

使用条件について

上では色々な使用条件を挙げましたが、実際にはこれら全てを設定することはあまりありません。大抵の場合、ホスト名とユーザ名、パスワードの3点セットくらいです。そういう場合には、基本的にはそれ以外の項目はデフォルトのままでOKです。

また、場合によっては、使用条件を一つのURI (URLとも言う)でいっぺんに指定する場合があります。その場合の見方を次の項で説明します。

FTPのURI

URI(ユーアールアイ)→ (Wikipedia) は、通常Webサイトを見るときに使う「http://www.google.co.jp/」といった文字列のことです。
これはFTPに対しても使うことができますし、またこのURIを使えば、一般的なWebブラウザでFTP接続を行うことも可能です。
URIは、次のような構成になっています。(※これは別段FTPに限った話ではなく、HTTPでも使えるものです)

ftp_tips_07ですから、ftp://user:pass@example.com:21/expに接続してくれ、と言われたら、それぞれ

  • ホスト名: example.com
  • ポート番号: 21
  • ユーザー名: user
  • パスワード: pass

と設定して接続して、expディレクトリを開けばいい、という風に読めます。

接続

全ての設定項目の入力ができたので、[接続(C)] をクリックして、実際にサーバに接続します。
きちんと設定できていれば、サーバに接続されて、画面中央右側に、サーバにあるファイルの一覧を見ることができます。

ftp_tips_08

あとは、サーバ上のファイルを選択して、D&Dで自分のパソコン上の好きなところにダウンロードすることが可能です。

また、画面中央左側には、自分のパソコン内のファイルが一覧で表示されているので、サーバ上のファイルを右クリック→ダウンロード、でここにダウンロードすることもできますし、(サーバ側が許可してくれれば、)ここからファイルをアップロードすることも可能です。

ftp_tips_09

さて、ここからはおまけ的な話です。あまり読む価値は無いかもしれません。先ほど書いた「使用条件」に合わないことを言われた、という場合には読めばもしかしたら分かるかも、という程度の情報です。

使用条件の項目名とその値

さて、使用条件についてこれまで説明してきましたが、FTPのURIがそうであるように、必ずしも上記のような項目名を全て伴って指定されるわけではありません。与えられた条件が、それぞれどういう意味なのか分からないと、使おうにも使えないわけです。特に、項目名については色々な呼び方をされるために、混乱してしまうこともままあるでしょう。

ここでは、それぞれの項目に使われうる呼び名と、その取り得る値、そして指定されなかった場合のデフォルト値について、項目ごとに簡単に紹介していきます。

ホスト名

ホスト名には、色々な呼び方が考えられます。

「ホスト名」 「ホストアドレス」 「サーバー名」 「サーバーアドレス」 「host name」 「host addr」 「host address」  「IP」 「IPアドレス(address)」
といったところでしょうか。要は「ホスト/サーバ/host/IP」+「名/name/アドレス/addr/address」の様な形です。場合によっては「ホスト」「IP」のように簡単に呼ばれることもあります。ですが、だいたい「ホスト」や「サーバ」、といった言葉、あるいは「アドレス」という言葉を伴うので、そこで判断すれば良いです。

ホスト名が取り得る値は、これまた色々ありますが、基本的には2種類です。「example.com」 のような文字列と、「127.0.0.1」のような数字の羅列です。厳密には前者がホスト名、後者はIPアドレスなのですが、あまり細かいことを言ってもしょうがないので敢えて詳細には言及しません。

こればかりは接続先の指定であって、どこに接続するのか、という一番大本の情報なので、デフォルト値は存在しません。

ポート番号

これはほとんど問題ないでしょう。呼び名はせいぜい「ポート」と略して呼ばれるくらいで、特別変わった呼び名はありません。

値についても、単なる数値なので、21 (FTP)や 115 (SFTP)、990 (FTPS)のような値か、1024~65535の範囲の値が指定されることが多いとはいえ、所詮ただの数値です。ただ、65536以上の値やマイナスの値が指定されることは絶対にあり得ませんので、その点だけ注意してください。

デフォルト値は、「サーバーの種類」によって異なり、それぞれ21 (FTP)、 115 (SFTP)、990 (FTPS)です。

ユーザ名とパスワード

これもほぼこの名前でぶれません。他に呼び方があるとすれば、「アカウント」と「パス」程度でしょう。余談ですが、以前知人が盛んに「path」と書いているので文脈的に意味が通じず、何のことかと思ったらパスワードのことでした。「password」ですので、略すとすれば「pass」ですのでお間違いの無きよう。

ユーザ名とパスワードには色々な値がありえます。こればかりはどうにもなりません。ただ、セキュリティ的には難があるものの、「user」というユーザー名を使っていることはしばしばあります。また、管理者については「admin」や「adminisitrator」といった名前もよく使われます。

デフォルト値は、果たして存在していいのでしょうか。パスワードの意味がないですね。
ただし、FTPを使うといっても、場合によってはWebから直接FTPを介してユーザにファイルをダウンロードさせたい場合もあります。そう言った場合に、いちいちパスワードをかけておいて、その入力を促すのも面倒ですし、パスワードのないユーザをわざわざ設けるのも場合によっては無駄な労力です。そこで、FTPのログインにはユーザ名とパスワードを用いる方法の他に「匿名」という方法があります。

これは、ユーザ名とパスワードを省略した場合に、「anonymous (匿名)」というユーザ名を自動的に与えることで、パスワードを求めることなくログインさせるというものです。もちろんサーバー側がanonymousアカウントのログインを許可していなければログインできませんが、オンラインでの大容量ライブラリやソフトウェアの公開では、しばしば利用されています。ftp://で始まるURIに、ユーザ名やパスワードの指定もなしに入れる場合には、これが使われてると見て良いでしょう。

これは若干違う性質のものではありますが、ユーザ名の「デフォルト値」と言えなくもありません。

サーバの種類

FTPには、大容量のファイル転送が速い、というメリットの一方で、セキュリティが強くないというデメリットがあります。

それを補うために、サーバによっては「SFTP」や「FTPS」というセキュリティに強い種類のFTPを使っていることがあります。
サーバがどのような種類のものなのかに従って、これを設定しないと、きちんと接続できない場合があるので注意してください。
一般的に「接続方法」「セキュリティの種類」などと言われることもありますが、ただ「FTPSで」「SFTPで」といった指定がされることがほとんどです。

デフォルトではサーバの種類は「FTP」のままで結構です。「SFTPを使って」「FTPSを使って」と指示された場合には、それぞれ設定する必要があります。

転送モード

これはそもそもなんなのか、という話をすればなかなかに奥の深い話なのですが、ここではそういったややこしい話は別のところにお任せすることにしています。先に載せたWikipediaの「FTP」の項目でも、「パッシブモード」という言葉が出てきているので、そのあたりを読めばだいたいのことは分かります。

転送モードの呼び名は、あまり確立されている感がありません。転送モード、接続確立方法、あるいは値が2値しかとらないために、「パッシブ/アクティブモード」なんて呼ばれたりもします。要はどちらを選ぶかでしかないので、項目名も書かずに「パッシブモードで」といった指示がされていることもままあります。

これが取り得る値は、先にも書いたとおり、「パッシブモード」と「アクティブモード」のみです。モード、を省略して単に「パッシブ」「アクティブ」ということも多くあります。それ以外の呼び名はあまり聞いたことがありませんし、あってもマイナーでしょう。

先に書いたとおり、パッシブモードの方がよく使われるため、デフォルトではパッシブモードになっている上に、場合によってはアクティブモードが使えないこともあります。Filezillaでは、どちらなのかを自動で選択する「標準」というモードがデフォルトになっているはずです。

文字コード

文字コードってなんじゃらほい、という話はまたしてもお約束のWikipediaにお任せします。

文字コードについては、これまた数多くの呼び方があります。
「文字コード」 「エンコード方式」 「文字エンコーディング」 「文字符号」 「符号化方式」 「符号化表現」 「文字集合」 「キャラクターセット」などが挙げられます。

一方、取り得る値はそう多くありません。先のWikipediaのページには数多の文字コードが掲載されていますが、実際に使われているのはそう多くありません。
「UTF-8」 「EUC-JP」 「Shift_JIS」 あたりがメジャーです。以前は希に海外のサーバーで「ASCII」という指定があって、ほんまかいなと思ったことがありますが、「UTF-8」が相互互換なので、クライアントとして接続する分には全く問題になりません。
あとは、サーバで実際に使われているかは定かではありませんが、別の分野でメジャーな文字コードとしては先の「ASCII」をはじめ、「UTF-16」 「UTF-32」 「Unicode」「ISO-2022-JP」(JISコード、と呼ばれる)などがあります。

これのデフォルト値は一概には言えません。
ただ、現在の動向としては「UTF-8」が主流になろうとしていますし、実際FilezillaもデフォルトはUTF-8を優先的に使用します。
また、Filezillaのように多くのFTPクライアントが、自動で文字コードの判別を行う機能がデフォルトで指定されているので、さほど気にする必要はないかもしれません。

文字化けしてしまった場合には、サーバの持ち主に確認をとって、正しい文字コードを指定してやる必要があります。

だらだらだらだらと書いてきましたが、大容量のファイルがオンラインで当たり前にやり取りされるようになった時代です。

私は、FTPの価値はまた見直されるべき時がくると信じています。

このつたない文章を介して、ユーザの方々に実り多いFTPer生活がやってくる日を願っています:)

コメントをどうぞ