2012-06-04 24 views
5

Dosyaları SSH.NET kullanarak SFTP üzerinden yüklemeye çalışıyorum. SFTPClient.Connect(), "Bozuk paket uzunluğu 1302334341." iletisiyle bir SshConnectionException atarSSH.NET'te 'Kötü paket uzunluğu' hatası nasıl giderilir?

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

bunun muhtemelen şifreleme ile ilgisi olan başka discussion gördüğümüz: Bu benim kodudur. AES kullanıyorum ve bir ana anahtarım var. Şifrelemeye nasıl girileceğini anlamıyorum. O tartışma dayanarak, bu oynuyordum:

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") 

O Encryptions.Add() verilecek argüman sağ dizi olmadığını biliyorum ama bu kütüphaneyi kullanarak kayıp biraz değilim; Şifrelemeyi düzgün bir şekilde nasıl ayarlayacağımı belirlemede yardımcı olabilir misiniz?

+3

, çözüldü kullanmak niyetinde hangisi şifreleme olarak ikame

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

kullanarak şifreleme kaldırmak için gereken [bu tartışma] de (http://sshnet.codeplex.com/discussions/358307). 'Foreach'i kullanarak şifrelemeyi kaldırmam gerekiyordu (connectionInfo.Encryptions.Where'da var d (p => p.Key! = "Aes128-cbc") .List()) { connectionInfo.Encryptions.Remove (d.Key) ; } ', hangi şifrelemeyi kullanmak istediğimi değiştirerek. – sigil

+0

Yorumunuzu cevap olarak ekleyebilirsiniz - bana da yardımcı oldu! – andreister

cevap

İlgili konular