セキュリティ上の理由から、従来の FTP から移行する必要があります (暗号化されていないパスワードを送信します)。SSH が明らかな代替手段として宣伝されていると聞いています。しかし、私は Web サイトの開発を自動化するために ASP.NET プログラム インターフェイスから FTP を駆動してきました。
ASP.NET から操作できるプログラム インターフェイスを備えた安全なファイル転送方法を推奨できる人はいますか?
Sharpsshは、scp 経由でファイルを送信する機能を実装しています。
質問には 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");
マーティン
過去に、.NET 用の SSH ファクトリを使用するこのソリューションのバリエーションを使用しました。
こんばんは
ProFPDをご覧になることをお勧めします。
カスタマイズ性が高い。Apache モジュール構造に基づいています。
彼らのウェブサイトから:
ProFTPD は、セキュアで構成可能な FTP サーバーを持ちたいという欲求と、Apache Web サーバーへの大きな賞賛から生まれました。
Web コンテンツの大規模な転送には、適応したバージョンを使用します。通常、1 日あたり 300,000 の更新。
HTH
乾杯、
ロブ