Próbuję przesłać pliki przez SFTP, używając SSH.NET. SFTPClient.Connect()
wyrzuca wyjątek SshConnectionException z komunikatem "Bad packet length 1302334341". To jest mój kod:Jak rozwiązać błąd "Bad packet length" w SSH.NET?
static void Main()
{
try
{
SftpClient sftp = new SftpClient(server, 22, userID, password);
sftp.Connect();
}
catch(Exception e)
{
Console.WriteLine(e.Message);
}
}
widziałem w innym discussion, że prawdopodobnie ma do czynienia z szyfrowaniem. Używam AES i mam klucz hosta. Nie rozumiem jednak, jak wprowadzić szyfrowanie. Na podstawie tej dyskusji, grałem z tym:
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")
wiem, że nie jest właściwy zestaw argumentów aby przejść do Encryptions.Add(), ale jestem trochę zagubiony przy użyciu tej biblioteki; czy możesz mi pomóc dowiedzieć się, jak poprawnie ustawić szyfrowanie (zakładając, że to jest problem)?
rozwiązać w [dyskusji] (http://sshnet.codeplex.com/discussions/358307). Musiałem usunąć szyfrowanie za pomocą foreach (var d w connectionInfo.Encryptions.Where (p => p.Key! = "Aes128-cbc"). ToList()) { connectionInfo.Encryptions.Remove (d.Key) ; } ', zastępując w dowolnym szyfrowaniu, którego zamierzam użyć. – sigil
Możesz umieścić swój komentarz jako odpowiedź - pomógł mi też! – andreister