2012-06-04 15 views
5

मैं SSH.NET का उपयोग कर, SFTP के माध्यम से फ़ाइलों को अपलोड करने का प्रयास कर रहा हूं। SFTPClient.Connect() संदेश के साथ एक SshConnectionException फेंकता है, "खराब पैकेट लंबाई 1302334341."SSH.NET में 'खराब पैकेट लंबाई' त्रुटि को कैसे हल करें?

static void Main() 
{ 
try 
{ 
SftpClient sftp = new SftpClient(server, 22, userID, password); 
sftp.Connect(); 
} 
catch(Exception e) 
{ 
Console.WriteLine(e.Message); 
} 
} 

मैं एक discussion यह शायद एन्क्रिप्शन के साथ क्या करना है कि में देखा था: यह मेरा कोड है। मैं एईएस का उपयोग कर रहा हूं, और मेरे पास मेजबान कुंजी है। मुझे समझ में नहीं आता कि एन्क्रिप्शन कैसे दर्ज करें, हालांकि। कि चर्चा के आधार पर, मैं इस साथ खेल रहा था:

ConnectionInfo connectionInfo = new PasswordConnectionInfo(server, 22, userID, password); 
connectionInfo.Encryptions.Clear(); 
connectionInfo.Encryptions.Add("aes","ssh-rsa 2048 11:22:34:d4:56:d6:78:90:01:22:6b:46:34:54:55:8a") 

मुझे पता है कि बहस का सही सेट Encryptions.Add() को पारित करने के लिए नहीं है, लेकिन मैं एक छोटे से इस पुस्तकालय का उपयोग कर के साथ खो हूँ, क्या आप मुझे यह समझने में मदद कर सकते हैं कि एन्क्रिप्शन को सही ढंग से कैसे सेट किया जाए (मान लीजिए कि यह समस्या है)?

+3

, हल का उपयोग करना चाहते

foreach (var d in connectionInfo.Encryptions.Where(p => p.Key != "aes128-cbc").ToList()) { connectionInfo.Encryptions.Remove(d.Key); } 

का उपयोग करने में प्रतिस्थापन encryptions को दूर करने के लिए आवश्यक [इस चर्चा] में (http://sshnet.codeplex.com/discussions/358307)। मुझे 'foreach (var_ कनेक्शन में। Var d.Encryptions.Where (p => p.Key! = "Aes128-cbc") का उपयोग करके एन्क्रिप्शन को हटाने की आवश्यकता है। ToList()) { connectionInfo.Encryptions.Remove (d.Key) ; } ', जो भी एन्क्रिप्शन मैं उपयोग करना चाहता हूं उसे प्रतिस्थापित करना। – sigil

+0

आप अपनी टिप्पणी को एक उत्तर के रूप में डाल सकते हैं - मुझे भी मदद की! – andreister

उत्तर

0

हल, this discussion में हल किया गया। मैं जो भी एन्क्रिप्शन मैं

संबंधित मुद्दे