2

セキュリティ上の理由から、従来の FTP から移行する必要があります (暗号化されていないパスワードを送信します)。SSH が明らかな代替手段として宣伝されていると聞いています。しかし、私は Web サイトの開発を自動化するために ASP.NET プログラム インターフェイスから FTP を駆動してきました。

ASP.NET から操作できるプログラム インターフェイスを備えた安全なファイル転送方法を推奨できる人はいますか?

4

5 に答える 5

4

Sharpsshは、scp 経由でファイルを送信する機能を実装しています。

于 2008-09-02T09:10:08.930 に答える
3

質問には 3 つのサブ質問があります。

1) 安全な転送プロトコルの選択

古い FTP の安全なバージョンが存在します。これは FTP/SSL (プレーンな古い FTP over SSL 暗号化チャネル) と呼ばれます。古い展開インフラストラクチャを引き続き使用できる場合があります。FTPS または FTP/SSL をサポートしているかどうかを確認してください。

FTP、FTP/SSL、および SFTP の違いに関する詳細は、http://www.rebex.net/secure-ftp.net/ページで確認できます。

2) Windows 用の SFTP または FTP/SSL サーバー

SFTP と FTPS のどちらを使用するかを選択するときは、適切なサーバーをデプロイする必要があります。FTP/SSL については、いくつかのサーバーでGene6 ( http://www.g6ftpserver.com/ ) を問題なく使用しています。FTP/SSL Windows サーバーはたくさんあるので、好きなものを使ってください。Windows 用の SFTP サーバーの場合、状況はもう少し複雑です。動作する実装はわずかしかありません。Bitvise WinHTTPD は非常に有望に見えます ( http://www.bitvise.com/winsshd )。

3) ASP.NET 用のインターネット ファイル転送コンポーネント

ソリューションの最後の部分は、asp.net からの安全なファイル転送です。市場にはいくつかのコンポーネントがあります。FTP (および FTP/SSL) と SFTP (SSH ファイル転送) の両方をサポートするRebex File Transfer Packをお勧めします。

次のコードは、SFTP 経由でサーバーにファイルをアップロードする方法を示しています。コードはRebex SFTP チュートリアル ページから取得されます。

// create client, connect and log in 
Sftp client = new Sftp();
client.Connect(hostname);
client.Login(username, password);

// upload the 'test.zip' file to the current directory at the server 
client.PutFile(@"c:\data\test.zip", "test.zip");

// upload the 'index.html' file to the specified directory at the server 
client.PutFile(@"c:\data\index.html", "/wwwroot/index.html");

// download the 'test.zip' file from the current directory at the server 
client.GetFile("test.zip", @"c:\data\test.zip");

// download the 'index.html' file from the specified directory at the server 
client.GetFile("/wwwroot/index.html", @"c:\data\index.html");

// upload a text using a MemoryStream 
string message = "Hello from Rebex SFTP for .NET!";
byte[] data = System.Text.Encoding.Default.GetBytes(message);
System.IO.MemoryStream ms = new System.IO.MemoryStream(data);
client.PutFile(ms, "message.txt");

マーティン

于 2008-09-17T14:57:24.537 に答える
1

FTP の従来の安全な代替手段はSFTPですが、両方のエンドポイントを十分に制御できる場合は、代わりにrsyncを検討することもできます。rsyncは高度に構成可能で、ssh を使用するように指示するだけで安全であり、2 つの場所の同期を維持するのにはるかに効率的です。

于 2008-09-02T10:21:26.997 に答える
1

過去に、.NET 用の SSH ファクトリを使用するこのソリューションのバリエーションを使用しました。

于 2008-09-02T09:09:49.663 に答える
0

こんばんは

ProFPDをご覧になることをお勧めします。

カスタマイズ性が高い。Apache モジュール構造に基づいています。

彼らのウェブサイトから:

ProFTPD は、セキュアで構成可能な FTP サーバーを持ちたいという欲求と、Apache Web サーバーへの大きな賞賛から生まれました。

Web コンテンツの大規模な転送には、適応したバージョンを使用します。通常、1 日あたり 300,000 の更新。

HTH

乾杯、

ロブ

于 2008-09-02T09:31:30.220 に答える