FTP と SFTP: 両者の主な違い
FTPとSFTPとは何ですか?
- FTP はホスト間でファイルを転送するための安全なチャネルを提供しませんが、SFTP はホスト間でファイルを転送するための安全なチャネルを提供します。
- FTP は「ファイル転送プロトコル」の略で、SFTP は「SSH ファイル転送プロトコル」の略です。
- FTP は 2 チャネルを使用してデータを転送しますが、SFTP は 1 チャネルを使用してデータを転送します。
- FTP ではポート 21 での受信接続が許可されますが、SFTP ではポート 22 での受信接続が許可されます。
- FTP は暗号化を提供しませんが、SFTP はデータ送信の暗号化を提供します。
- FTP はクライアント サーバー アーキテクチャを使用しますが、SFTP は SSH アーキテクチャを使用します。
- FTP はダイレクト転送方式ですが、SFTP はトンネリング転送方式です。

ここでは、FTPとSFTPの違いを分析し、それぞれの長所と短所を総合的に評価します。
FTPとは何ですか?
FTPは「ファイル転送プロトコル」の略です。これは、特定のサーバーまたはコンピューターへの接続を確立するように設計されたインターネット サービスです。したがって、ユーザーはファイル (ダウンロード) またはデータを自分のコンピューターまたは FTP サーバーに転送できます。
FTP プロトコルにはコマンドも含まれており、これを使用して任意のリモート コンピューターで操作を実行できます。たとえば、ディレクトリの変更、フォルダーの内容の表示、フォルダーの作成、ファイルの削除などです。FTP はクライアント サーバー アーキテクチャに基づいて構築されています。FTP を使用すると、クライアント アプリケーションとサーバー アプリケーション間で個別の制御接続とデータ接続を利用できます。これにより、エンド ホストの構成が異なるという問題を解決できます。
SFTPとは何ですか?
SFTP (完全形式の SSH ファイル転送プロトコル) は、SSH プロトコル スイートの一部です。 SSH 経由で安全なファイル転送を提供し、リモート SFTP サーバー上のすべてのシェル アカウントにアクセスします。
SSH は、信頼できないネットワークを介してマシンに安全にリモート アクセスするためのプロトコルです。これは、telnet、rsh、rlogin に代わるものです。 SFTP クライアントの身元を確認し、安全な接続が確立されると情報が交換されます。
FTPの特徴
私の経験から言えば、FTP の主な機能は次のとおりです。
- 自動再取得または再開
- ローカルファイルとリモートファイルの両方を表示するユーザーインターフェイス
- ファイル転送の監視が可能
- 複数の FTP セッションを設定して保存するのに役立ちます
- 一度に複数のファイルをアップロードできます。多数の種類の FTP および SFTP をサポート
- FTP クライアント サーバー環境で動作します。つまり、リモート マシンはサーバーとして構成されます。したがって、他のマシンがサービスを要求するのを待機します。
- FTP プロトコルは、ディレクトリの作成と削除、ファイルの一覧表示、ファイルの削除と名前変更などのアクションを実行することもできます。
SFTPの特徴
私の実際の作業から、SFTP の主な機能は次のとおりです。
- Transmission 安全で圧縮可能
- TMUX およびスクリーンセッションのサポート
- SSH3プロトコルを実装します
- SSH チャネル経由でコマンドを実行できるようになります。
- IPV6 HTTP プロトコルのサポートを提供する
- パスワード認証と公開キー認証の両方をサポート
- インタラクティブなキーボード認証を提供します
- サーバーキーの再交換を透過的に処理するのに役立ちます
- カスタムチャンネルをサポート
- リモート システムの文字セットから Unicode ベースの文字列へのテキスト出力の自動変換
FTP と SFTP: FTP と SFTP の違いは何ですか?
これらのプロトコルを長年扱ってきた経験から、SFTP と FTP の主な違いは次のとおりです。
FTP | SFTP | |
---|---|---|
創設者 | アバイ・ブーシャン著、1971年 | タトゥ・イロネン、サミ・レーティネンの支援、1997年 |
完全形 | ファイル転送プロトコル。 | 安全な FTP プロトコル。 |
Basic | FTPは、ホスト間でファイルを転送するための安全なチャネルを提供していません。 | SFTP は、ホスト間でファイルを転送するための安全なチャネルを提供します。 |
Encryption | FTP は匿名でアクセスでき、ほとんどの場合、暗号化されません。 | SFTP は、データを別のホストに送信する前に暗号化します。 |
Archi使用されている構造 | クライアントサーバー | SSH |
プロトコル | FTP は TCP/IP プロトコルです。 | SFTP プロトコルは、リモート ログイン アプリケーション プログラムである SSH プロトコルの一部です。 |
使用されたチャネルの数 | 2 | 1 |
一般的に使用される | はい | NO |
転送方法 | 直接転送 | トンネリング |
受信ポート | ポート 21 での受信接続を許可する | ポート 22 での受信接続を許可する |
アウトバウンドポート | ポート 21 への送信接続を許可します。 | ポート 22 への送信接続を許可します。 |
FTPを使用する利点
私の使用法を振り返って、本質的な利点を以下に示します。 FTP:
- ディレクトリリストは統一されており、機械で読み取り可能です
- 転送の再開とスケジュール設定が可能
- 単一転送にはサイズ制限はありません
- FTP ではファイルに所有権とアクセス制限を設けることができます
- 個々のコンピュータ システム上の情報を隠すのに役立ちます
- 多くの FTP クライアントはスクリプト機能を提供します
- ほとんどのFTPクライアントには同期ユーティリティがある
- FTP クライアントを使用すると、複数のファイルとディレクトリを転送できます
SFTPを使用する利点
私の経験では、SFTP を使用する利点は次のとおりです。
- 接続は常に安全です。
- 知らない TCP / IP ポートは、暗号化されたチャネルを通じて両方向にリダイレクトできます。
- SFTP プロトコルは、クリア テキストのパスワードやファイル データを転送せずに、安全なチャネル上で実行されます。
- root 権限がなくても、ソフトウェアをインストールして機能を制限して使用できます。
FTPを使用するデメリット
私がこれまで見てきたことに基づいて、FTP の欠点を以下に示します。
- ローカル マシン上でアクティブな FTP 接続をフィルタリングするのは困難な作業です
- サーバーがなりすまして、無許可のコンピュータ上のランダムな未知のポートにデータを送信する可能性があります。
- FTP プロトコルを使用したスクリプト作成が難しいジョブ
- FTP はデータを転送する安全な方法ではありません
- FTP を使用してファイルを送信する場合、コンプライアンスが問題になる可能性があります
- サーバー間のコピーや再帰的なディレクトリ削除操作は許可されません
SFTP を使用するデメリット
私自身の経験から、SFTP の欠点を以下に挙げます。
- 通信はバイナリなのでログに記録できません
- SSH キーの管理と検証は簡単ではありません
- 標準では、特定のものをオプションまたは推奨として定義します。他のベンダーが開発したさまざまなソフトウェア間で互換性の問題が発生する可能性があります。
最高の FTP クライアント ソフトウェア
私の観点からは、これが最高のものとして際立っています FTP クライアントソフトウェア。
- ケルベロスFTP
- FTPサーバーソフト
- FileZilla
- グッドSync
- フォークリフト
最高のSFTPサーバーソフトウェア
私のプロとしての使用に基づいて、これを最良のものとして推奨します SFTP サーバーソフトウェア。
- SolarWinds SFTP/SCP Server
- Files.com
- WS_FTP Server Corporate
- Couchdrop SFTP
- CompleteFTP
FTP と SFTP のどちらを選択するか
私の観点からすると、FTP と SFTP のどちらを選択するかは、シンプルさとセキュリティのトレードオフになります。重要なデータについては、優れた保護機能を持つ SFTP を常にお勧めします。