2009-05-26 55 views
0

SharpSSHを使用して安全なFTP接続を作成できません。今まで私は、接続を行うために自由にDOSコマンドラインアプリMOVEitを使用してきた、そしてそれは罰金接続しますSharpSSHをFTP経由で接続することができません

C:\> ftps -user:ABC -password:123 xxx.xxx.xxx.mil 

しかし、私はSharpSSHと同じことをしようとすると、私はエラーを取得します

Dim sftp = New Tamir.SharpSsh.Sftp("xxx.xxx.xxx.mil", "ABC", "123") 
sftp.Connect() 

または

Dim host = New Tamir.SharpSsh.SshStream("xxx.xxx.xxx.mil", "ABC", "123") 

私が間違っているかもしれないものの任意のアイデアを、または私は失敗しているものを見つけ出すことができる方法:接続がタイムアウトしたか、サーバーが正常に応答しませんでしたどちらかと言いますか?

私は安全なFTP接続が必要なので、.NETクラスはオプションではありません。私はSharpSSHの代替案を試してみるつもりです。

答えて

2

あなたはSSHライブラリであるTamir.SharpSshを使用しています。ただし、FTPS(またはFTP/SSL)サーバーに接続しているようです。 FTPSは全く異なるプロトコルであり、SFTPやSSHと共通するものは何もありません。

次のページでは、FTP、FTP/SSL、FTPS、SFTPプロトコルの相違点について説明しています。rebex.net/secure-ftp.net/

簡単な概要は、次のとおりです。

  • FTP平野、古い、安全でないファイル転送プロトコル。ネットワーク経由でクリアテキストのパスワードを転送します。

  • FTPS-TLS/SSLで暗号化されたFTP チャネル。 FTPとFTPSの関係は、HTTPとHTTPSに似た です。

  • FTP/SSL - SSHファイル転送プロトコル - FTPS

  • SFTPと同じ。 FTPと共通のものはありません(名前が必要です)。 SSH暗号化通信チャネルを介して実行されます。

  • セキュアFTP - あなたは両方のSFTPとFTPSプロトコルをサポートしています(しかし、それはSharpSSHとは異なり、いくつかのお金がかかる)Rebex File Transfer Packコンポーネントを、試すことが:-(

SFTPまたはFTPSのいずれかである

。 FTP/SSLサーバへ

の接続は、次のようになります。

' Create an instance of the Ftp class. 
Dim ftp As New Ftp() 

' Connect securely using explicit SSL. 
' Use the third argument to specify additional SSL parameters. 
ftp.Connect(hostname, 21, Nothing, FtpSecurity.Explicit) 

' Connection is protected now, we can log in safely. 
ftp.Login(username, password) 
2

もう一つの大きな選択肢を(も無料ではない)、edtFTPnet/PROです.NETでFTPS(およびSFTP)を完全にサポートする安定した成熟したライブラリです。

は、ここに接続するためのいくつかのサンプルコードです:

SecureFTPConnection ftpConnection = new SecureFTPConnection(); 

    // setting server address and credentials 
    ftpConnection.ServerAddress = "xxx.xxx.xxx.mil"; 
    ftpConnection.UserName = "ABC"; 
    ftpConnection.Password = "123"; 

    // select explicit FTPS 
    ftpConnection.Protocol = FileTransferProtocol.FTPSExplicit; 

    // switch off server validation (only do this when testing) 
    ftpConnection.ServerValidation = SecureFTPServerValidationType.None; 

    // connect to server 
    ftpConnection.Connect(); 
関連する問題