C# の SFTP ライブラリ

Fil Zjazel Romaeus Villegas 2023年1月30日
  1. C# SSH.NET
  2. WinSCP
  3. Rebex
C# の SFTP ライブラリ

SFTP は SecureFileTransfer Protocol の略で、機密ファイルに対してさまざまなタスクを実行します。SFTP を使用して実行できるタスクの例は次のとおりです。

  • サーバー/コンピューター間でのファイルのアップロード/ダウンロード
  • ファイルの削除
  • 一時停止したファイル転送の再開

使用できる SFTP ライブラリは多数あります。ここでは、ライブラリのいくつかの例と、それらの機能と利点のいくつかをリストします。

C# SSH.NET

SSH.NET は、並列処理用に最適化された Secure Shell(SSH)オープンソースライブラリです。このプロジェクトはもともと Sharp.SSH に触発されました。

このライブラリは一貫して更新されており、他の開発者から強く推奨されています。自由に使用できるので、試してみるのは簡単で痛みもありません。SSH.NET の使用方法を説明し、エラーのトラブルシューティングに役立つ多くの利用可能なドキュメントとフォーラムもあります。このライブラリは MIT ライセンスを利用しています。

SSH.NET によってアドバタイズされた機能の一部を次に示します。

  • SCP 機能を提供します
  • リモート、動的、およびローカルポートフォワーディング
  • 同期操作と非同期操作の両方に SFTP 機能を提供します
  • sftp 操作のアップロードとダウンロードのステータスレポートを提供して、正確なプログレスバーの実装を可能にします
  • シェル/ターミナルの実装
  • 2 要素以上の認証をサポートします
  • SOCKS4、SOCKS5、および HTTP プロキシをサポートします
  • 公開鍵、パスワード、およびキーボード対話型認証方式をサポートします
  • 同期方式と非同期方式の両方を使用して、SSH コマンドのキーファイルパス phraseExecution を指定します
  • コマンド実行終了ステータスおよびその他の情報を返します
  • 複数のキーファイルを使用して認証する

SSH.NET を使用するには、NuGet パッケージマネージャーを使用して SSH.NET をインストールするか、GitHub からプロジェクトをプルします。

WinSCP

WinSCP(Windows Secure CoPy)は、最初は.NET ラッパーとして始まりましたが、その後.NET ライブラリになりました。

このライブラリも一貫して更新され、十分に文書化されています。このライブラリも無料でオープンソースであるため、フォーラムで一般的に推奨されている SFTP ライブラリの 1つです。このライブラリは GNUGeneralPublic License を利用しており、GPL の条件の下で自由に使用、再配布、および/または変更することができます。

WinSCP で利用可能ないくつかの機能は次のとおりです。

  • グラフィカル・ユーザー・インターフェース
  • 多くの言語で利用可能
  • Windows と統合
  • すべての一般的なファイル操作をサポートします
  • SSH および FTM を介した SFTP および SCP プロトコル、および WebDav および S3 プロトコルをサポートします
  • 高度なプログラミングタスクのためのバッチファイルスクリプティングとコマンドラインインターフェイスおよび.NET アセンブリを可能にします
  • いくつかの半自動または完全自動の方法でのディレクトリ同期
  • 統合されたテキストエディタがあります
  • パスワード、キーボードインタラクティブ、公開鍵、および Kerberos(GSS)認証のサポート
  • SSH による公開鍵認証の完全なサポートのために Pageant(PuTTY 認証エージェント)と統合します

WinSCP を使用するには、NuGet パッケージマネージャーまたは Web サイト WinSCP からインストールできます。

Rebex

Rebex は、ファイル転送パック、SSH パック、またはすべての Rebex.NET コンポーネントを 1つのパックで提供する TotalPack の両方を提供する有料ソリューションです。これも;

  • SFTP、FTP、HTTP、IMAP、POP3、SMPT、EWS、SNTP、WebSocket、メール
  • Windows 7、8.1、10、11 の TLS 1.3
  • SFTP および SSH サーバー
  • ターミナルエミュレーションを備えた SSH シェルと Telnet
  • Syslog クライアントとサーバー
  • ZIP および GZIP 圧縮

このライブラリはオープンソースではありませんが、Rebex を選択する利点の 1つは、チームからのサポートにアクセスできることです。彼らはあなたが図書館を利用するのを助けるために知識ベースの記事の大きなセットを持っています。また、30 日間の無料トライアルも提供しているため、ソリューションが最適かどうかをテストして確認できます。

Rebex の詳細については、彼らの Web サイトをチェックしてください。