Wie kann ich RDP unter Windows Server 2012 reparieren?

12

Hier ist eine Momentaufnahme des RDP-Status. Sieht gut aus: Geben Sie hier die Bildbeschreibung ein

Wenn ich von einem Remotecomputer aus eine Verbindung herstelle, wird folgende Fehlermeldung angezeigt:

"This computer can't connect to the remote computer. 
Try connecting again. If the problem continues..."

Ich habe den Port 3389 aus der Ferne getestet, er ist offen. Ich habe es mit netstat getestet.

TCP    0.0.0.0:3389           hostname:0                LISTENING
  • Keine Windows-Firewall
  • Keine Netzwerk-Firewall
  • Brandneues selbstsigniertes Zertifikat
  • Maschine wurde vor kurzem neu gestartet, arbeitete vorher
  • Terminaldienste werden ausgeführt
  • Wenn ich das SSL-Zertifikat inspiziere, zeigt es alle Details, sieht gut aus und läuft 2014 ab
  • hklm: \ System \ CurrentControlSet \ Control \ Terminal Server \ fDenyTSConnections ist 0
  • Der Administrator von C: \ ProgramData \ Microsoft \ Crypto \ RSA \ MachineKeys verfügt über alle Berechtigungen

Aktualisieren:

Jetzt finde ich dies im Ereignisprotokoll unter Administrative Ereignisse:

"A fatal error occurred when attempting to access the SSL server credential 
private key. The error code returned from the cryptographic module is 0x8009030D. 
The internal error state is 10001." 

Ich bin nicht sicher, wie ich den obigen Fehler beheben soll. Ich bin mir auch nicht sicher, ob es sich um mein importiertes RD-Zertifikat handelt, obwohl ich weiß, dass es passiert, wenn ich versuche, RDP von meinem Computer aus auszuführen.

Update II:

Ich habe versucht, mithilfe von Powershell Zertifikate mit privaten Schlüsseln zu generieren. Kein Glück. Verwendete Techniken hier und hier ohne Glück. Jedes Mal, wenn ich das Zertifikat zu vertrauenswürdigen Roots und Personal für den Systembenutzer im MMC-Zertifikat-Snap-In hinzugefügt habe.

Update III:

So nervig

Dieses Forum weist darauf hin, dass Windows möglicherweise während des Neustarts aktualisiert wurde und einen nicht behebbaren Fehler bei der Installation der Rolle "Remotedesktopverbindungsbroker" verursacht (anscheinend erforderlich, um eine Pfx-Datei mit privatem Schlüssel zum Importieren in MMC zu generieren). Der Fehler ist mit Hotfix Juni 2013 KB2821895. Dies könnte damit behoben werden? http://support.microsoft.com/kb/2871777

Also habe ich das neueste Windows-Update ausgeführt und versucht, den Remotedesktop-Verbindungsbroker zu installieren, damit ich die pfx-Datei generieren kann. Kein Glück. Es heißt, dass eine oder mehrere übergeordnete Funktionen nicht installiert sind - obwohl Hyper-V usw. vorhanden sind. Und es sagt nicht, welche anderen Rollen hinzugefügt werden sollen ...

Aktualisierungsfrage aktualisieren!

Wenn also theoretisch alles gesagt und getan wäre , würde die Installation des RD-Verbindungsbrokers (um einen privaten Schlüssel zu generieren) wahrscheinlich meinen Verschlüsselungsfehler lösen?

FlavourScape
quelle
Ihr Screenshot zeigt das rdp-Gateway, aber Sie sprechen von Vanille-rdp. Sie sind zwei getrennte Dinge; Ein RDP-Gateway funktioniert wie folgt: 443, um RDP-Verbindungen innerhalb eines Netzwerks zu tunneln.
Mark Henderson
Richtig, ich bekam den Verdacht, am falschen Ort zu sein. Wie löse ich das Zertifikatsproblem? Ich sehe nicht, wo in den Vanilla RD-Einstellungen dies überhaupt geändert werden soll.
FlavorScape
Die Überprüfung, ob der Dienst über netstat ausgeführt wird, ist kein ausreichender Test. Führen Sie auf einem Remote-System "telnet IP_OF_RDP_HOST 3389" (ohne Anführungszeichen) aus und entfernen Sie den gesamten Text im cmd-Fenster. Führen Sie alternativ eine Netzwerkerfassung (netmon / wireshark) aus, um festzustellen, ob eine TCP-Sitzung eingerichtet wird.
user2320464
Versuchen Sie, durch blogs.technet.microsoft.com/askperf/2014/10/22/… zu gehen - es funktionierte für mich mit abgelehnter RDP-Verbindung zu Win2012 svr :-)
Nigel Harvey

Antworten:

7

Dieser Fehler kann auftreten, wenn nach dem Importieren eines SSL-Zertifikats (und des zugehörigen privaten Schlüssels) in Windows Server 2012 eine Verbindung hergestellt wird:

This computer can't connect to the remote computer. Try connecting again. If the problem continues, contact the owner of the remote computer or your network administrator. 

Darüber hinaus sehen Sie in den Windows-Ereignisprotokollen Folgendes:

"A fatal error occurred when attempting to access the SSL server credential 
private key. The error code returned from the cryptographic module is 0x8009030D. 
The internal error state is 10001." 

Lösung:

Zitat aus Microsoft KB2001849:

"Der Remotedesktop-Hostdienst wird unter dem Konto NETWORK SERVICE ausgeführt. Daher muss die ACL der von RDS verwendeten Schlüsseldatei (referenziert durch das im Registrierungswert SSLCertificateSHA1Hash angegebene Zertifikat) so festgelegt werden, dass NETWORK SERVICE mit" Read "eingeschlossen wird. Berechtigungen Um die Berechtigungen zu ändern, führen Sie die folgenden Schritte aus:

Öffnen Sie das Zertifikat-Snap-In für den lokalen Computer:

  1. Klicken Sie auf Start, klicken Sie auf Ausführen, geben Sie mmc ein und klicken Sie auf OK.

  2. Klicken Sie im Menü Datei auf Snap-In hinzufügen / entfernen.

  3. Klicken Sie im Dialogfeld Snap-Ins hinzufügen oder entfernen in der Liste Verfügbare Snap-Ins auf Zertifikate und dann auf Hinzufügen.

  4. Klicken Sie im Dialogfeld Zertifikat-Snap-In auf Computerkonto und dann auf Weiter.

  5. Klicken Sie im Dialogfeld Computer auswählen auf Lokaler Computer: (der Computer, auf dem diese Konsole ausgeführt wird), und klicken Sie auf Fertig stellen.

  6. Klicken Sie im Dialogfeld Snap-Ins hinzufügen oder entfernen auf OK.

  7. Erweitern Sie im Snap-In "Zertifikate" in der Konsolenstruktur "Zertifikate (lokaler Computer)", erweitern Sie "Persönlich" und navigieren Sie zu dem SSL-Zertifikat, das Sie verwenden möchten.

  8. Klicken Sie mit der rechten Maustaste auf das Zertifikat, wählen Sie Alle Aufgaben und dann Private Schlüssel verwalten.

  9. Klicken Sie im Dialogfeld Berechtigungen auf Hinzufügen, geben Sie NETWORK SERVICE ein, klicken Sie auf OK, wählen Sie Lesen unter dem Kontrollkästchen Zulassen aus und klicken Sie dann auf OK. "

Quelle: https://support.microsoft.com/en-us/kb/2001849

hwdsl2
quelle
3

Ich habe die Gateway-Dienste deaktiviert. Am Ende habe ich MMC ausgeführt und das RD-Zertifikat vollständig gelöscht. Dann habe ich Remoteverbindungen deaktiviert und wieder aktiviert. Dies erzeugte ein neues, gutes Zertifikat und ich konnte mich in der Maschinendomäne anmelden!

FlavourScape
quelle
2

Habe ich Recht, wenn Sie das selbstsignierte Zertifikat importiert haben? Wenn dies der Fall ist, haben Sie das Zertifikat höchstwahrscheinlich als nicht exportierbar markiert, was den Fehler erklären würde ... Schauen Sie unter http://blogs.msdn.com/b/kaushal/archive/2012/10/07/error nach -hresult-0x80070520-beim-Hinzufügen von -ssl-Bindung-in-iis.aspx für weitere Details. Wenn ich recht habe, müssen Sie das Zertifikat löschen und erneut importieren, wobei das Flag "Export zulassen" gesetzt ist.

CHfish
quelle
Mein Zertifikat hat nie einen privaten Schlüssel generiert, daher kann ich ihn nicht exportieren / importieren, um ihn anstelle meines Benutzerzertifikatspeichers auf das System zu übertragen. Ich versuche jetzt, PowerShell zu verwenden, um einen mit einem privaten Schlüssel zu generieren, da der im RD-Dialogfeld dies anscheinend überhaupt nicht tut.
FlavorScape
Ich
füge
1

Haben Sie eine Lösung für Sie:

Laden Sie makecert.exe herunter und generieren Sie ein neues Zertifikat für RDP

makecert -r -pe -n "CN = Server FQDN" -eku 1.3.6.1.5.5.7.3.1 -ss my -sr LocalMachine -sky exchange -sp "Microsoft RSA SChannel Cryptographic Provider" -sy 12 "

Ändern Sie den vollqualifizierten Domänennamen des Servers mit dem tatsächlichen Wert.

Gehen Sie zu Computerzertifikaten und löschen Sie unter Remotedesktop das aktuelle Zertifikat. Verschieben Sie dann aus dem persönlichen Speicher das neu erstellte Zertifikat auf den Remotedesktop. Öffnen Sie das Zertifikat und kopieren Sie den Fingerabdruck.

Öffnen Sie regedit und gehen Sie zu:

HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Terminal Server \ WinStations

Aktualisieren Sie den SelfSignedCertificate-Schlüssel mit einem neuen Zertifikat-Tumbprint.

Starten Sie den Remotedesktopdienstdienst neu

opti2k4
quelle
1

Ich hatte das gleiche Problem, und es trat ein Fehler auf, sobald ich auf Verbinden klickte.

Um dies zu beheben, habe ich den Remotedesktopdienstdienst so geändert, dass er als lokales Systemkonto anstelle von NETWORK SERVICE ausgeführt wird. Der Dienst wurde neu gestartet und alles funktionierte wie gewohnt.

BEARBEITEN:
Ich habe gerade herausgefunden, dass dies dazu führt, dass der Zugriff verweigert wird und als NETZWERKSERVICE festgelegt werden muss. Durch die Änderung in "Lokales Systemkonto" und zurück in "NETZWERKSERVICE" wurde mein Problem jedoch vollständig behoben.

0x0000001E
quelle
1

Dies ist endlich das, was das gleiche Problem für mich behoben hat (große Requisiten in diesem TechNet-Beitrag darüber, wie man herausfindet, welcher private Schlüssel der Täter ist)

  1. Laden Sie Procmon herunter und führen Sie es aus (aus der Sysinternals Suite).
  2. Überwachen Sie den MachineKeys-Ordner auf Aktivitäten (höchstwahrscheinlich: C: \ ProgramData \ Microsoft \ Crypto \ RSA \ MachineKeys), indem Sie alle Aktivitäten in diesem Pfad abhören
  3. Wenn Sie versuchen, RDP an den fehlerhaften Computer zu senden, sollte Procmon den Fehler "Zugriff verweigert" zusammen mit der Datei, die den Zugriff verweigert hat, notieren
  4. Löschen Sie die fehlerhafte Datei (möglicherweise müssen Sie sich zuerst zum Eigentümer machen und dann die volle Kontrolle geben).
  5. Starten Sie den Computer neu und er sollte Ihren fehlenden Schlüssel mit den richtigen Berechtigungen neu generieren
si1ic0n_gh0st
quelle
0

Ich bin zu spät zur Party, aber das hat mir geholfen.

  • Generieren Sie ein neues PFX-Zertifikat. Selbstsigniert funktioniert:

    Installationsmodul SharePointPnPPowerShellOnline $ password = ConvertTo-SecureString "P @ ssword" -Force -AsPlainText New-PnPAzureCertificate -CommonName RDS_CertName -ValidYears 30 -OutPfx "RDS_CertName .pfx" -CertificatePword

  • Erfassen Sie einen Fingerabdruck im Ausgabefenster
  • Installieren Sie das generierte PFX-Zertifikat auf dem Arbeitsplatz> Personal Store
  • Führen Sie den folgenden Befehl mit dem Fingerabdruck aus, den Sie in den obigen Schritten erfasst haben:

    wmic / Namespace: \ root \ cimv2 \ TerminalServices PATH Win32_TSGeneralSetting Set SSLCertificateSHA1Hash = " THUMB_PRINT "

Zerg00s
quelle