【Bash】「ftp」 - FTPでファイルを転送する
Shell Script / シェルスクリプト
【Bash】
「ftp」 - FTPでファイルを転送する
「Bash」の「ftp」コマンドについてまとめています。
詳しくは、
下記をご参照ください。
「ftp」コマンドとは
「ftp」コマンドは、
指定したFTPサーバーへ接続して、ファイルの送受信を行う。
書式
ftp オプション ホスト名 ポート番号
「ftp」コマンドのオプション
-d | デバックモードを有効にする |
-g | メタ文字モードをオフで起動する |
-i | 複数ファイルの転送時にプロンプトの表示を抑止する。 |
-n | 自動ログインを抑止する。 |
-t | パケット追跡を有効にする。 |
-v | 転送状況を詳細に表示する。 |
FTPの操作コマンド
ascii | 転送モードをアスキー形式にする。 |
binary | 転送モードをバイナリ形式にする。 |
cd | FTPサーバ側のディレクトリを移動する。 |
get | 指定したファイルをダウンロードする。 |
lcd | ローカルディレクトリを変更する |
ls | FTPサーバのディレクトリ内容一覧を表示する。 |
open | FTPサーバへの接続を開始する。 |
put | ローカルファイルをFTPサーバへアップロードする。 |
quit | FTPの接続をクローズする。 |
Back
「FTP」とは
File Transfer Protocol(ファイル・トランスファ・プロトコル)。
サーバーやPC端末などの2台のPC間で、ファイルを転送するためのプロトコル。
プロトコルというのは、伝達方法の1つで、Webサイトをサーバーにアップロード・ダウンロードするときなどに使われる。
伝達方法のプロトコルが違うと、日本語と英語で話しているようなもので、何も伝わらない。
FTPの中には、いくつかの種類がある。
FTPの種類 | 正式名 | 暗号化 | 解説 |
FTP | File Transfer Protocol (ファイル・トランスファー・プロトコル) | 暗号化なし |
サーバーに、ファイルを転送するためのプロトコル。
一般的なデータの送受信に使われている。
|
FTPS | File Transfer Protocol over SSL/TLS | SSL/TLSで暗号化 |
データ暗号化技術の「SSL/TLS」を利用して、転送データを暗号化して、ファイルデータを安全に転送するプロトコル。
SSLを利用するので、証明書の取得が必須となる。
証明書を取得していない、取得できないならば、利用はできないので、「SFTP」を利用しよう。
|
SFTP | SSH File Transfer Protocol | SSHで暗号化 |
データ暗号化技術の「SSH」を利用して、暗号化された通信路を利用して、ファイル転送を安全に行うプロトコル。
「FTP」の操作は、すべて「SFTP」で利用可能。
|
Back
「FTP」「FTPS」「SFTP」の違い
「FTP」「FTPS」「SFTP」の違い
簡単に言えば、暗号化技術の違いです。
- 「FTP」は、一般的なデータ送受信に使われますが、暗号化はされていない。
- 「FTPS」は、「SSL/TLS」という暗号化が使われて、安全に転送できるが、SSL証明書がないと利用不可。
- 「SFTP」は、「SSH」を利用して、通信回線自体を暗号化するので安全で、サーバーが対応していれば利用できる。
なので、
- 「FTP」は、暗号化されていないので、重要なファイルなどでは利用しない方が良い。
- 「FTPS」は、SSL証明書を作るのが面倒なので、レンタルサーバーが対応していれば利用可能だが、対応していない場合は、一般の人には難しい。
- 「SFTP」は、レンタルサーバーなどサーバーが対応していれば利用可能。対応していないと利用不可。
と言う結果になります。
こうした理由から、一番利用が簡単で、安全な「SFTP」が良く利用される傾向がある。
安全面では、「FTPS」「SFTP」ともに暗号化されるので問題はない。
レンタルサーバーが、対応しているかどうかで、利用できるかできないかが決まる。
サーバーが対応しているのかを調べれば、どの転送方法が利用できるのかがわかる。
最近のレンタルサーバーは、「FTPS」「SFTP」どちらにも対応しているはず。
レンタルサーバーのWebサイトで簡単に確認できます。
Back