2012-12-18 16 views
5

を認めなかった私は、以下のようSharpSSH経由でftpに接続しようとしています:SFTP接続のDNSの問題 - System.Net.Sockets.SocketException:要求された名前は有効ですが、要求されたタイプのデータが

Sftp Connection = new Sftp(ftpAddress, FTPLogin, FTPPasword); 
Connection.Connect(); 

どのJSchExceptionになり:

System.Net.Sockets.SocketException: The requested name is valid, but no data of the requested type was found 
at System.Net.Dns.InternalGetHostByName(String hostName, Boolean includeIPv6) 
at System.Net.Dns.GetHostByName(String hostName) 
at Tamir.SharpSsh.java.net.Socket..ctor(String host, Int32 port) 
at Tamir.SharpSsh.jsch.Util.createSocket(String host, Int32 port, Int32 timeout) 

いくつかの検索後、私はこのコードを試してみました:

IPHostEntry ip = Dns.GetHostEntry(ftpAddress); 

そして、私はSocketExceptionを持っています:{そのようなホストは知られていません}

私は、ホスト名とIPアドレス(外部と内部の両方)を使ってFilezillaにftpAdressに接続できます。 私>はpingのftp.mydomain.com
私は> 10.5.165.15
を取得しかし、私ならば上>のping -a 10.5.165.15
は私が>ftpnew.mydomain.com

取得する場合私はDNSのために拒否されています<> revDNSの問題です。

私の質問です - 私は実際に私のSFTP接続作業をするために何ができますか?

+0

私は今同じ問題に直面しています。私は以下の答えを使用しようとしましたが、同じエラーが表示されます。私を助けてもらえますか?私は私の資格情報が正しい場合でも私はエラーが発生している理由を取得しないでください。 –

答えて

4

すべての可能性をチェックして解決策が見つかったため、接続を管理する方法がわかりました。 まず、ftpAddressがextrernal/internal IPに設定されています。

IPHostEntry ip = Dns.GetHostByName(ftpAddress); 
Sftp Connection = new Sftp(ip.ToString(),FTPLogin,FTPPassword); 
Connection.Connect() 

それは私のエラーがDNS <> revDNSについてではなく、原因私は呼んしようとしていたホストアドレスに余分な「\」の兆候にはなかったようです。

2

私は同じ問題に直面していましたが、私はこれに対する解決策を見つけました。 次のタイプのftpAddress(URL)を使用してください: sftp.abcdefg.com 22ポート番号残りは同じです。 URLの末尾または開始時にスラッシュ "/"と円記号 "\"を使用しないでください。 私はこのURLで同じ問題に直面していました= sftp.abcdefg.com/

関連する問題