質問

C#SSHファイル転送プロトコル(SFTP)でSFTPクライアントを探しているときに、これら2つの適切なプロジェクトに遭遇しました- one および two

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

役に立ちましたか?

解決

違いは次のとおりです:

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

「FTP over SSH」用のライブラリはおそらく見つかりません。通常、トンネルはSSHコマンドを実行して設定され、一度設定されると、クライアントとサーバーはトンネルについて知る必要がないためです。単にポートを開き、トンネルなしでデータを転送します。

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

他のヒント

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

  • FTP – 1970年代から存在していた単純な古いFTPプロトコル。頭字語は「File Transfer Protocol」の略です。通常、TCPポート21で実行されます。

  • SFTP – FTPとは関係のないまったく別のファイル転送プロトコル。 SFTPは、通常はTCPポート22でSSHセッションを介して実行されます。1990年代後半から使用されています。頭字語は実際には「SSH File Transfer Protocol」を表します。

  • SFTP経由のFTP-1)可能ですが、SSHチャンネルをトンネリングするFTPプロトコルの非常にまれな例2)SFTPという誤った名前

(詳細については、" セキュアFTP、FTP / SSL、SFTP、FTPS、FTP、 SCP ...違いは何ですか?"ページの Rebex

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

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

.NETでの包括的なSFTPサポートについては、 edtFTPnet / PRO を試してください。さまざまなSFTPサーバーをサポートするようになってからかなり経ちます。

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

FTP over SSHは、SSHを介してトンネリングされる単純なFTPプロトコルです。 SFTPは、SSHが提供するファイル転送メカニズムであり、完全に異なるプロトコルです。 FTP over SSHを使用している人は誰もいません。

  • SFTPはSSH File Transfer Protocolの略です。 SSLを介したFTPではなく、SSHを介したFTPでもありません。 SFTPはRFC 4253で標準化されています。
  • FTPは、RFC 959および後の追加で定義されているファイル転送プロトコルの略です。 FTPは非常に人気がありますが、安全ではありません。したがって、FTP over SSLが導入され、FTPSまたはFTP / SSLと呼ばれます。

認証にSFTPはSSHキーを使用し、FTPSはX.509証明書を使用します。

私は何年もSharpSSHを使用してきましたが、うまく機能します。しばらく開発されていませんが、ソースコードは理解しやすく、使いやすいです。私は自分のプロジェクトのために問題なく微調整し、再コンパイルしましたが、それを必要とせずにそのままうまく動作します。

特別なことをする必要がない場合は、非常に最小限のコードでPuTTYのPSFTP.EXEクライアント用に独自の.NETラッパーを作成することもできます。

Greg FinzerのSFTPライブラリを使用したことはありませんが、積極的に開発された堅牢なものが必要な場合は、彼が高品質の製品を持っていると個人的に確信しています。しかし、シンプルなものについては、私が言及した無料のオプションで大成功を収めました。

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

こちらが私のライブラリへのリンクです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top