Ich versuche, Dateien über SFTP mit SSH.NET hochladen. SFTPClient.Connect()
löst eine SshConnectionException mit der Nachricht "Ungültige Paketlänge 1302334341" aus. Dies ist mein Code:Wie behebt man einen 'Fehlerhafte Paketlänge' Fehler in SSH.NET?
static void Main()
{
try
{
SftpClient sftp = new SftpClient(server, 22, userID, password);
sftp.Connect();
}
catch(Exception e)
{
Console.WriteLine(e.Message);
}
}
Ich sah in einem anderen discussion, dass dies wahrscheinlich mit Verschlüsselung zu tun hat. Ich benutze AES, und ich habe einen Host-Schlüssel. Ich verstehe jedoch nicht, wie man die Verschlüsselung eingibt. Auf der Grundlage dieser Diskussion, spielte ich mit diesem:
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")
Ich weiß, das ist nicht der richtige Satz von Argumenten zu Encryptions.Add() übergeben, aber ich bin ein wenig bei der Verwendung dieser Bibliothek verloren; Können Sie mir helfen, herauszufinden, wie man die Verschlüsselung richtig einstellt (vorausgesetzt, das ist das Problem)?
gelöst, in (http://sshnet.codeplex.com/discussions/358307). Ich musste Verschlüsselungen mit 'foreach entfernen (var d in connectionInfo.Encryptions.Where (p => p.Key! =" Aes128-cbc "). ToList()) { connectionInfo.Encryptions.Remove (d.Key) ; } ', ersetzen durch welche Verschlüsselung ich auch verwenden möchte. – sigil
Sie können Ihren Kommentar als Antwort setzen - hat mir auch geholfen! – andreister