58

C# SSH ファイル転送プロトコル (SFTP) で SFTP クライアントを探しているときに、これらの 2 つの適切なプロジェクト ( onetwo ) に出会いました。

基本を理解しようとしているときに、この紛らわしいウィキペディアの記事に出くわしました。SFTP と FTP over SSH の違いは何ですか? 「FTP over SSH」が異なる場合、ライブラリはサポートしていないようです。

4

9 に答える 9

64

違いは次のとおりです。

  • SFTP (SSH ファイル転送プロトコル) は、ファイル転送および操作機能を提供するプロトコルです。信頼できるデータ ストリームで機能しますが、通常は SSH で使用されます。
  • 「FTP over SSH」は通常の古い FTP プロトコルを使用しますが、クライアントとサーバーの間にSSH トンネルが配置されます。

通常、トンネルは SSH コマンドを実行することによってセットアップされ、一度セットアップされると、クライアントとサーバーはトンネルについて知る必要がないため、「FTP over SSH」のライブラリはおそらく見つからないでしょう。ポートを開いて、トンネルを使用しない場合と同じようにデータを転送するだけです。

ところで、もう 1 つのオプションは、.NET でサポートされているFTP over SSL (FTPS)かもしれません。( http://msdn.microsoft.com/en-us/library/system.net.ftpwebrequest.enablessl.aspxを参照してください。)

于 2009-01-13T19:45:00.413 に答える
47

基本的に、次のファイル転送プロトコルがあります。

  • FTP – 1970 年代から存在する単純な古い FTP プロトコル。頭字語は「ファイル転送プロトコル」の略です。通常、TCP ポート 21 で実行されます。

  • SFTP – もう 1 つの完全に異なるファイル転送プロトコルで、FTP とは何の関係もありません。SFTP は、通常は TCP ポート 22 で SSH セッションを介して実行されます。1990 年代後半から使用されています。頭字語は、実際には「SSH File Transfer Protocol」の略です。

  • FTP over SSH - 1) 可能ですが、SSH チャネルを介してトンネリングされた FTP プロトコルの非常にまれな例 2) SFTP という名前が正しくない

(詳細については、Rebex の「Secure FTP、FTP/SSL、SFTP、FTPS、FTP、SCP... What's the difference?」ページを参照してください)

免責事項: 私は Rebex で働いています

于 2009-09-24T00:31:47.500 に答える
4

SFTP は、実際には SSH で実行される別のプロトコルです。必要に応じて、SSH の拡張機能です。FTP を SSH でトンネリングするよりも、SFTP を使用する傾向があります。

.NET での包括的な SFTP サポートについては、edtFTPnet/PROを試してください。多くの異なる SFTP サーバーをサポートするようになってから長い間使用されてきました。

于 2009-05-19T02:36:15.173 に答える
2

SFTP は独自のプロトコルです。FTP over SSH は、SSH 経由で接続すると FTP を使用します。

于 2009-01-13T19:41:48.657 に答える
1

FTP over SSH は、SSH を介してトンネリングされるプレーンな FTP プロトコルです。SFTP は SSH によって提供されるファイル転送メカニズムであり、まったく異なるプロトコルです。FTP over SSH を使っている人を見たことがありません。

于 2009-01-13T19:40:26.613 に答える
-3

.NET SFTP Libraryを作成しました。その過程で学んだことの 1 つは、FTP と SFTP の違いです。実際には、FTP サーバーではなく SSH サーバーと通信しています。プロトコルだけでなく、SSH サーバーに送信するコマンドもまったく異なります。

ここに私のライブラリへのリンクがあります。

于 2010-04-23T00:51:21.383 に答える