Unable to connect to a server using 2024.2.0: Key exchange negotiation failed
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 35/100
- Issue-Typ
- Bug
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- csharp, fsharp
- Bereich
- backend, networking, security
Rechercherichtung
Beginnen Sie mit den in der Ausnahme angezeigten Einstiegspunkten KeyExchangeECCurve25519 und Session und vergleichen Sie das Verhalten zwischen SSH.NET 2024.1.0 und 2024.2.0. Reproduzieren Sie den Fehler mit /home/vmadmin/temp/print-sftp-files.fsx und dem base64-kodierten ed25519-Schlüssel; abgeschlossen ist die Arbeit, wenn das Beispiel eine Verbindung herstellt und das angeforderte Verzeichnis wie mit 2024.1.0 auflistet.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Unable to connect to a server when using SSH.NET 2024.2.0 and base64-encoded ed25519 private key. Version 2024.1.0 works fine.
This is the exception I'm getting:
Renci.SshNet.Common.SshConnectionException: Key exchange negotiation failed.
at Renci.SshNet.Security.KeyExchange.Finish()
at Renci.SshNet.Security.KeyExchangeECCurve25519.Finish()
at Renci.SshNet.Security.KeyExchangeECCurve25519.Session_KeyExchangeEcdhReplyMessageReceived(Object sender, MessageEventArgs`1 e)
at Renci.SshNet.Session.OnKeyExchangeEcdhReplyMessageReceived(KeyExchangeEcdhReplyMessage message)
at Renci.SshNet.Messages.Transport.KeyExchangeEcdhReplyMessage.Process(Session session)
at Renci.SshNet.Session.MessageListener()
--- End of stack trace from previous location ---
at Renci.SshNet.Session.WaitOnHandle(WaitHandle waitHandle, TimeSpan timeout)
at Renci.SshNet.Session.WaitOnHandle(WaitHandle waitHandle)
at Renci.SshNet.Session.Connect()
at Renci.SshNet.BaseClient.CreateAndConnectSession()
at Renci.SshNet.BaseClient.Connect()
at FSI_0002.main(String host, String user, String dir) in /home/vmadmin/temp/print-sftp-files.fsx:line 22
at <StartupCode$FSI_0002>.$FSI_0002.main@() in /home/vmadmin/temp/print-sftp-files.fsx:line 30
at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
at System.Reflection.MethodBaseInvoker.InvokeWithNoArgs(Object obj, BindingFlags invokeAttr)
Stopped due to error
Here's my code:
#r "nuget: SSH.NET, 2024.2.0"
open Renci.SshNet
open System
open System.IO
let getAuthMethod (user : string) : AuthenticationMethod =
let key = Environment.GetEnvironmentVariable "SSH_KEY"
let pwd = Environment.GetEnvironmentVariable "SSH_PWD"
if not (String.IsNullOrEmpty key) then
new PrivateKeyAuthenticationMethod(user, new PrivateKeyFile(new MemoryStream(Convert.FromBase64String key)))
else if not (String.IsNullOrEmpty pwd) then
new PasswordAuthenticationMethod(user, pwd)
else
failwith "Environment variable SSH_PWD or SSH_KEY must be defined"
let main host user (dir: string) =
let auth = getAuthMethod user
use client = new SftpClient(new ConnectionInfo(host, user, auth))
client.Connect()
let res = client.ListDirectory dir
for item in res do
printfn "%s" item.FullName
match fsi.CommandLineArgs |> List.ofArray with
| [ _; host; user; dir ] -> main host user dir
| _ -> printfn "Usage: dotnet fsi %s <host> <user> <dir>" fsi.CommandLineArgs.[0]
- Vorherrschende Sprache
- C#
- Sterne
- 4.4k
- Forks
- 994
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus sshnet/SSH.NET
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
-
ShellStream.Expect over-discards on undecodable bytes, driving ArrayBuffer.ActiveLength negativeOffen
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 52/100
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 68/100
-
Using SshClient on Linux under Wine throws System.Security.Cryptography.CryptographicExceptionOffen
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 48/100
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 67/100
Ähnliche Issues
-
.NET bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 86/100
RayWangQvQ/BiliBiliToolPro#1144 ·
Maintainer antworten meist innerhalb von 1 Tag
-
area-System.Numerics.Tensors untriaged
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
dotnet/runtime#134691 · 2 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 86/100
microsoft/DataFactory.MCP#121 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
unoplatform/uno.templates#2277 ·
Maintainer antworten meist innerhalb von 5 Tagen
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
microsoft/fluentui-blazor#5344 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag