はじめに
SFTP(Secure File Transfer Protocol)は、システム間でファイルを安全に転送する方法を提供するために、SSHバージョン2.0の一部として導入されました。 SSHを使用して、転送するデータを暗号化して保護します。
このチュートリアルでは、SFTPがどのように機能するか、他のファイル転送プロトコルとどのように比較するか、いつ使用する必要があるかについて説明します。

SFTPの仕組み
クライアントシステムがファイル転送を要求すると、SFTPはクライアントとSFTPサーバーの間に安全な接続を作成します。この接続は通常、ポート22を経由します。

次に、SFTPはSSHプロトコルを使用して、要求されたファイルを暗号化し、クライアントに転送します。クライアントは、SSHが提供するいくつかの認証方法のいずれかを使用してファイルを復号化してアクセスできます。
これらの方法には、ユーザーIDとパスワードの組み合わせ、またはSSHキーのペアが含まれます。 FTPとは異なり、ユーザーIDとパスワードはSFTPで暗号化されます。
ユーザーは、認証を必要としない方法でSFTPサーバーをセットアップすることもできますが、このオプションの安全性ははるかに低くなります。
SFTPを使用したファイルの転送は、次の手順で構成されます。
- ファイルを転送する前に、クライアントとサーバーはSSH認証方式を使用して接続を開始します。
- 接続が開始されると、クライアントはサーバーへのSSHアクセスをテストします。
- テストが成功すると、クライアントとサーバーはSFTP接続を確立します。
- SFTPクライアントはSFTPインターフェースに切り替わります。
- クライアントはポート22を使用してSFTPセッションを開きます。
- クライアントがファイル転送を開始します。
SFTPはFTPとどのように比較されますか?
SFTPは、インターネットを介したファイル転送に関して、FTPよりも安全な代替手段を提供します。 SFTPはFTPの異なるバージョンではなく、完全に異なるプロトコルであることに注意することが重要です。

暗号化の形式を使用しないFTPとは異なり、SFTPはSSHを使用して送信するデータを暗号化します。これにより、データが保護され、PCI-DSS、HIPAA、GDPR、CCPAなどの安全規制に準拠することが保証されます。
接続を確立するとき、FTPは2つのポートを使用します。 1つはクライアントへの接続を確立して維持するのに役立ち、もう1つはFTPサーバーからデータを送信します。
一方、SFTPは1つのポートのみを使用してデータを接続および送信します。この方法では、潜在的なターゲットの数を減らすことで、転送中にデータが傍受されるリスクを最小限に抑えます。
SFTPを使用する理由
SFTPを使用する最も明白な理由は、他のファイル転送プロトコルよりも高いセキュリティを提供することです。これは、ファイルを転送するときにセキュリティ規制に準拠する必要があるクライアントにとって特に重要です。
SFTPは、ファイル転送の一時停止や再開など、より高度な機能を提供します。また、ユーザーは、ファイルとディレクトリの作成、表示、管理、ファイルのアクセス許可の変更など、リモートシステムで基本的な管理タスクを実行できます。さらに、SFTPは、FTPなどの他の同様のプロトコルよりも高速で大容量のファイルを転送できるため、速度と効率が向上します。
以前のバージョンでは、SFTPにはSCPなどのプロトコルと比較して速度とスケーラビリティに問題がありました。これは、すべてのファイル転送を個別に認証する必要があるためです。ただし、クラウドSFTPなどの新しいソリューションは、スケーラビリティの向上に役立ちます。
最後に、SFTPは、ユーザーがサイズ、日時、アクセス許可などのファイルメタデータにアクセスするのに役立ちます。他の転送プロトコルにはメタデータを有効にするための回避策がありますが、SFTPではこのオプションが完全にサポートされています。