FTPとSFTPはどちらもファイルをあるコンピュータから別のコンピュータに転送しますが、FTPとSFTPの基本的な違いは、 FTPはファイルを転送するための安全なチャネルを提供しないことです。 以下に示す比較チャートを使って、FTPとSFTPの違いについてもう少し議論しましょう。
比較表
比較基準 | FTP | SFTP |
---|---|---|
基本 | FTPはホスト間でファイルを転送するための安全なチャネルを提供しません。 | SFTPは、ホスト間でファイルを転送するための安全なチャネルを提供します。 |
完全形 | ファイル転送プロトコル。 | 安全なファイル転送プロトコル。 |
プロトコル | FTPはTCP / IPプロトコルです。 | SFTPプロトコルはSSHプロトコル(リモートログインアプリケーションプログラム)の一部です。 |
接続 | FTPはTCPポート21で制御接続を確立します。 | SFTPは、クライアントとサーバー間でSSHプロトコルによって確立された接続の下でファイルを転送します。 |
暗号化 | FTPパスワードとデータはプレーンテキスト形式で送信されます。 | SFTPは送信前にデータを暗号化します。 |
FTPの定義
FTP( ファイル転送プロトコル )は、あるホストから別のホストにファイルをコピーするTCP / IPのプロトコルです。 ただし、ファイルをあるホストから別のホストに転送するのは非常に簡単です。 しかし、ファイルを送受信する2つのシステムではデータを表現する方法が異なる場合があるなど、いくつかの問題があります 。 それらは異なるファイル名規約を持ち、 異なるディレクトリ構造を持つかもしれません。
FTPは上記のすべての問題に対する簡単な解決策を提供します。 FTPが他のクライアントサーバーアプリケーションと異なるのは、通信ホスト間に2つの接続を確立することです。 1つはデータ転送用、もう1つは制御情報 (コマンドと応答)用です。 FTPは、データとコマンド用に別々の接続があるため、他のクライアント/サーバーアプリケーションよりも効率的です。
制御接続は、単にホスト間の接続を確立するためのものであるため、単純です。 しかし、データ接続はさまざまなデータを転送する必要があるため複雑です。 FTPは、TCPのポート番号21で 制御接続を確立し、TCPのポート番号20で データ接続を確立します。
ユーザーがFTPセッションを開始するときはいつでも、最初に制御接続を使用してファイルの転送先ホストとの接続を確立し、次にファイル転送用のデータ接続を確立します。データ接続は各ファイルの転送後に開閉されます。 ただし、制御接続はFTPセッション全体で接続されたままになります。
SFTPの定義
SFTP( Secure File Transfer Protocol )は、ファイルをネットワーク経由で転送するための安全な方法です。 ネットワーク上のあるホストから別のホストにファイルを転送するためのFTPプロトコルがありますが、FTPがセキュリティを設計された時は大きな問題ではありませんでした。
FTPプロトコルはファイルを送信しなければならないホストとの接続を確立するためにパスワードを必要としますが、パスワードはプレーンテキストであり、攻撃者に傍受される恐れがあります。 その後、攻撃者はパスワードを悪用する可能性があります。 データはデータ接続を介してプレーンテキストでも送信されますが、これもまた安全ではありません。
そのため、SFTPはネットワーク経由でファイルを転送するための安全なチャネルを導入しました。 SFTPはSSH(Secure Shell)プロトコルの一部であり、実際にはUnixのプログラムです。 SSHプロトコルはクライアントとサーバー間の安全な接続を確立し、SFTPプログラムはFTPと同様に機能し、SSHによって作成された安全なチャネルでファイルを転送します。 このように、ファイルはSFTPを使用して安全に転送できます。
FTPとSFTPの主な違い
- FTPはホスト間でファイルを転送するための安全なチャネルを提供しませんが 、SFTPプロトコルはネットワーク上のホスト間でファイルを転送するための安全なチャネルを提供します。
- FTPはFile Transfer Protocolの略で、SFTPはSecure File Transfer Protocolの略です。
- FTPプロトコルはTCP / IPによって提供されるサービスです。 しかし、SFTPはリモートログイン情報であるSSHプロトコルの一部です。
- FTPはTCPポート21で制御接続を使用して接続を確立します。 一方、SFTPはクライアントとサーバー間でSSHプロトコルによって確立された安全な接続の下でファイルを転送します。
- FTPはパスワードとデータをプレーンテキスト形式で転送しますが、SFTPはデータを別のホストに送信する前に暗号化します。
結論:
FTPとSFTPはどちらもファイル転送プロトコルですが、SFTPはネットワーク上のあるホストから別のホストにファイルを安全に転送する方法を提供します。