2012-12-18 38 views
5

tôi đang cố gắng để kết nối với ftp qua SharpSSH như sau:SFTP kết nối DNS vấn đề - System.Net.Sockets.SocketException: Tên yêu cầu là hợp lệ, nhưng không có dữ liệu của các loại yêu cầu đã được tìm thấy

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

mà kết quả trong 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) 

Sau khi một số tìm kiếm tôi đã thử mã này:

IPHostEntry ip = Dns.GetHostEntry(ftpAddress); 

Và tôi có SocketException: {Không có máy chủ nào được biết}

Bây giờ một số nền - tôi có thể kết nối với Filezilla với ftpAdress bằng tên máy chủ và địa chỉ IP (cả bên ngoài và bên trong). Khi tôi> ping ftp.mydomain.com
tôi nhận được> 10.5.165.15
Nhưng trên> ping -a 10.5.165.15
tôi nhận được>ftpnew.mydomain.com

Nếu tôi đúng, tôi bị từ chối vì vấn đề về DNS <> revDNS.

Câu hỏi của tôi là - tôi có thể làm gì để thực sự có kết nối sftp hoạt động.

+0

Tôi đang gặp phải sự cố tương tự ngay bây giờ và tôi đã cố gắng sử dụng câu trả lời của bạn bên dưới nhưng tôi nhận được lỗi tương tự. bạn có thể vui lòng giúp tôi không? Tôi không hiểu tại sao tôi gặp lỗi ngay cả khi thông tin đăng nhập của tôi là chính xác. –

Trả lời

4

Giải pháp được tìm thấy bằng cách kiểm tra mọi khả năng và đây là cách tôi đã thiết lập kết nối: Đầu tiên ftpAddress của tôi được đặt thành IP bên trong/bên trong.

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

Có vẻ như lỗi của tôi không phải là về DNS <> revDNS mà là do thêm '\' dấu hiệu ở địa chỉ máy chủ tôi đã cố gắng để gọi.

2

Tôi đang đối mặt với cùng một vấn đề bây giờ tôi đã tìm ra giải pháp cho việc này. Sử dụng loại sau ftpAddress (URL): sftp.abcdefg.com với 22 cổng số. và nghỉ ngơi sẽ giống nhau. Không sử dụng bất kỳ loại dấu gạch chéo nào "/" và dấu gạch chéo ngược "\" ở cuối hoặc bắt đầu của URL. Tôi đang gặp phải sự cố tương tự với URL này = sftp.abcdefg.com/

Các vấn đề liên quan