2012-12-18 1 views
5

를 찾을 수 없습니다 :SFTP 연결 DNS 문제 - System.Net.Sockets.SocketException : 요청 된 이름이 유효하지만 요청한 유형의 데이터가 나는 다음과 같이 SharpSSH를 통해 FTP로 연결을 시도하고

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

어떤 JSchException 결과 :

IPHostEntry ip = Dns.GetHostEntry(ftpAddress); 

: 나는이 코드를 시도 일부 검색 후

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) 

그리고 SocketException이 발생했습니다. {해당 호스트가 알려져 있지 않습니다.}

일부 배경 - 호스트 이름과 IP 주소 (외부 및 내부 모두)를 통해 Filezilla와 ftpAdress에 연결할 수 있습니다. 나는> ftp.mydomain.com
나는> 10.5.165.15
그러나에> 핑 -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에 대해 오히려 때문에 내가 전화하려고했다 호스트 ADRESS에 추가 '\'표지판이 아니었다 보인다.

2

저는이 문제를 해결하기 위해 해결책을 찾았습니다. ftpAddress (URL) 유형을 사용하십시오. sftp.abcdefg.com (22 포트 번호 포함) 휴식은 동일합니다. URL 끝 또는 시작 부분에 슬래시 "/"와 백 슬래시 "\"를 사용하지 마십시오. 이 URL과 동일한 문제가 발생했습니다. sftp.abcdefg.com/

관련 문제